我想通过javascript/jQuery做几个验证。我需要知道我可以使用什么样的逻辑。Javascript验证众多领域
我有大约15个字段来验证。我想我是否可以验证每个字段的返回值是true还是false。然后我会检查是否有任何返回值是错误的。如果是,那么表单不被验证。这有道理吗?
或者我是否必须经历一组if嵌套的条件,一个接一个接一个?
PS:我不想使用jQuery验证插件,因为在我的表单中很少出现复杂问题。
让我知道你认为我该怎么做。
谢谢。
我想通过javascript/jQuery做几个验证。我需要知道我可以使用什么样的逻辑。Javascript验证众多领域
我有大约15个字段来验证。我想我是否可以验证每个字段的返回值是true还是false。然后我会检查是否有任何返回值是错误的。如果是,那么表单不被验证。这有道理吗?
或者我是否必须经历一组if嵌套的条件,一个接一个接一个?
PS:我不想使用jQuery验证插件,因为在我的表单中很少出现复杂问题。
让我知道你认为我该怎么做。
谢谢。
我想补充然后
$('.required').each(function (i) {
});
你可以使用一个错误的散列状物体需要一个CSS类。
$('#target').submit(function (e) {
var errors = {};
//No field should be blank
$('.required').each(function() {
if (!$.trim($(this).val())) errors[$(this).prev('label').text()] = 'is blank';
});
//Don't submit form on errors
//Show errors
if (!jQuery.isEmptyObject(errors)) {
$('.error').show().html("<p>Form couldn't be submitted because:</p>");
$('.error').append(
$.map(errors, function (type, error) {
return $('<p>', {
text: error + ' ' + type
}).get();
}));
// Prevent the form from being submitted
return false;
}
$('.error').hide();
});
这是一个无耻的插头,但你有没有试过regula?我正在积极开发它,我知道至少另一个人正在使用它(耶!)。它可能会解决您的一些复杂问题。另外,如果你可以用你的复杂情况更新你的问题,我可以告诉你如何在规则中做到这一点。它可以让你不必编写自己的验证。
regula还将其验证结果作为约束违规数组返回,因此您可以看到哪些元素验证失败(以及其他情况)。
This answer有关regula功能的更多信息,如果你有兴趣。
我们可以得到您的表单的一个例子吗? – rlemon
您可以采取任何形式的示例。我需要知道如何验证几个字段的逻辑。做,我使用嵌套的if-else?或分别验证每个字段?我想我可能不得不单独验证每个字段,因为如果表单无法验证,那么我需要告诉特定的错误消息。 – Blueboye
我认为你只是回答了你自己的问题;) – rlemon