什么是 Parsley.js?
Parsley.js 是一个 jQuery 插件,用于在客户端进行表单验证。它能够通过简单的 HTML 标记快速实现表单验证功能。使用 Parsley.js,您可以很容易地定义表单验证规则,例如必填字段、最小长度、最大长度、电子邮件格式等。
如何使用 Parsley.js?
使用 Parsley.js 很简单。您只需要在表单元素上加上 data-parsley-validate
属性,就可以启用表单验证。例如:
<form id="my-form" data-parsley-validate>
<label for="email">电子邮件地址</label>
<input type="email" id="email" name="email" required>
<label for="password">密码</label>
<input type="password" id="password" name="password" data-parsley-minlength="6" required>
<button type="submit">提交</button>
</form>
上面的代码中,data-parsley-validate
属性启用了表单验证功能。输入框 email
设置了 required
属性,表示该字段是必填项。输入框 password
同时设置了 required
属性和 data-parsley-minlength="6"
属性,表示该字段是必填项,且最小长度为 6 个字符。
设置验证规则
除了上面例子中的 required
和 data-parsley-minlength
属性,Parsley.js 还支持其他验证规则。例如:
data-parsley-maxlength
:最大长度
data-parsley-type
:字段类型(例如 email
、number
、url
等)
data-parsley-pattern
:正则表达式
data-parsley-equalto
:与另一个字段相等
data-parsley-range
:数值范围
data-parsley-length
:指定长度
data-parsley-date
:日期格式
data-parsley-datetime
:日期时间格式
等等
自定义错误消息
当表单验证失败时,Parsley.js 会显示默认的错误消息。例如,对于 required
属性验证失败的字段,会显示“这个值是必需的”消息。可以通过设置 data-parsley-required-message
属性来自定义错误消息。例如:
<input type="email" id="email" name="email" required data-parsley-required-message="请输入电子邮件地址">
类似地,可以设置其他验证规则的错误消息。例如:
<input type="text" name="username" data-parsley-minlength="6" data-parsley-minlength-message="用户名至少需要 6 个字符">
自定义验证器
如果以上提供的验证规则仍然不能满足您的需求,您可以编写自定义的验证器。一个验证器是一个 JavaScript 函数,它接受一个值作为参数,返回 true
表示验证通过,返回 false
表示验证失败。
例如,下面的代码定义了一个名为 evenNumber
的验证器,用于检查某个数值是否为偶数:
window.Parsley.addValidator('evenNumber', {
validateNumber: function(value) {
return value % 2 === 0;
},
messages: {
en: 'Please enter an even number.',
zh_cn: '请输入偶数。'
}
});
在上面的代码中,window.Parsley.addValidator()
方法注册了一个名为 evenNumber
的新验证器。该验证器使用 validateNumber
函数来验证数值是否为偶数。如果该函数返回 false
,则表单验证失败,messages
属性定义了错误消息。
自定义验证器可以通过 data-parsley-evevNumber
属性来应用于表单元素。例如:
<input type="text" name="num" data-parsley-evenNumber>
事件
Parsley.js 还提供了一系列事件供您灵活地控制表单验证过程。例如:
form:submitting
:表单提交前触发
form:submit
:表单提交后触发
field:validated
:字段验证后触发
field:success
:字段验证成功后触发
field:error
:字段验证失败后触发
field:reset
:重置字段的错误状态后触发
等等
使用这些事件可以实现更加细致的表单验证控制。例如,下面的代码定义了一个名为 myValidationHandler
的事件处理函数,它在表单提交前进行自定义验证,如果验证失败,则取消表单提交:
$('#my-form').on('form:submitting', function() {
if (!myCustomValidation()) {
return false;
}
});
function myCustomValidation() {
// 自定义验证代码
if (/* 验证失败 */) {
return false;
} else {
return true;
}
}
总结
使用 Parsley.js 可以轻松地实现表单验证功能。它提供了一系列验证规则、自定义错误消息、自定义验证器、事件等功能,可以满足大多数表单验证需求。使用 Parsley.js,您只需要在 HTML 中添加一些属性即可实现表单验证,非常方便。