这是我正在尝试使用的jQuery内联表单验证的链接 http://www.position-absolute.com/articles/jquery-form-validator-because-form-validation-is-a-mess/
一切看起来都不错,但我遇到了一个小问题
我有一个输入,我使用这种验证
'validate[length[6,15]]'
它检查输入值的长度是否为数量,如果它小于6或更大,那么15则给出错误。
现在我想要的是添加输入值为length length = 0的机会,因此验证不会触发任何错误消息。
这可能吗?
更新
这是提交阻止功能
<script type='text/javascript'>
$(document).ready(function() {
$('#standart_form').validationEngine();
$('#standart_form').submit(function() {
return false;
});
});
</script>
现在当我使用这个'validate[length[6,15]]'
时,一切都运转良好。但是,如果我尝试使用新的自定义函数,整个表单会自行破坏我的基于ajax的应用程序。
答案 0 :(得分:1)
您正在使用的插件不支持开箱即用,但其自定义功能允许您自己实现该行为。
例如,您可以指定在验证字段时使用的正则表达式。您需要将其添加到翻译文件中:
"emptyOrLengthBetween6And15": {
"regex": /^$|^.{6,15}$/,
"alertText": "* Empty, or between 6 and 15 characters long"
},
然后你可以在custom
验证器中引用它:
class="validate[custom[emptyOrLengthBetween6And15]]"
您也可以编写自己的验证功能:
function checkEmptyOrLengthBetween6And15(field, rules, i, options)
{
var val = field.val();
if (val.length > 0 && (val.length < 6 || val.length > 15)) {
return "* Empty, or between 6 and 15 characters long";
}
}
然后在funcCall
验证器中使用它:
class="validate[funcCall[checkEmptyOrLengthBetween6And15]]"