JavaScript jrValidator 用于验证 HTML 表单
jrValidator 提供一组 JavaScript 函数来验证 HTML 表单。
引言
HTML5 提供了强大的表单验证功能,但在 JavaScript 中处理时仍然不够方便,并且每次都需要为每个表单编写单独的代码也一直很令人头疼。jrValidator JavaScript 库就是为了解决这个问题而诞生的。jrValidator 中的 JavaScript 函数集轻量级、简单且易于使用和修改。它被编写出来是为了满足基本表单验证的需求。
如何将此源代码添加到项目中?
- 从 github 下载 jrValidator 的源代码文件。
- 将 src 文件夹中的 jrValidator.min.css 和 jrValidator.min.js 添加到需要验证表单的脚本中。
-
<!--add jrValidator.min.css at the top of your script--> <link href="src/jrValidator.min.css" rel="stylesheet">
-
<!--add jrValidator.min.js at the end of your script--> <script href="src/jrValidator.min.js"></script>
- 现在,按照下面的指南验证您的表单。
注意:不要忘记添加 jQuery 库。
使用 jrValidator 验证表单
有一些 HTML 属性应该包含在 form
标签中才能进行验证。我们将在本文后面讨论这些属性。
使用 jrValidateForm() 函数
此函数验证表单并返回 true
或 false
。
/*here 'form_id' is the id of form to be validated and variable formValidated will store the info
whether the form is validated or not*/
var formValidated = jrValidateForm('form_id');
示例
HTML
<form id="form_id">
<!--inputs-->
<input type="button" onclick="submitForm('form_id');">
</form>
JavaScript
function submitForm(form_id){
if(jrValidateForm(form_id)){
//code to handle if the form is validated
}else{
//code to handle if the form is not validated
}
}
将输入设置为必填字段
在必填输入项中使用 required
属性。
示例
<input type="email" required>
<!--also applicable on select-->
<select type="gender" required>
<option>Female</option>
<option>Male</option>
<option>Other</option>
</select>
为每个无效输入使用**自定义错误消息**
在您希望设置自定义错误消息的输入项中使用 data-validation-message
属性。
示例
<input type="email" data-validation-message="This is my custom error message">
如果您对默认错误消息满意,则不要将此属性添加到输入项。
为文件类型输入设置**接受的文件格式**
在文件类型输入项中使用 data-accepted-file-format
属性。
示例
<input type="file" data-accepted-file-format="jpg, gif, png"
data-validation-message="This is my custom error message">
有一个默认的消息框用于显示错误消息(如下图所示),但您也可以在首选位置获取消息。
**所有输入项的通用错误消息框**
在 form
标签中使用 data-message-loc
属性。
示例
<form type="email" data-message-loc="msg-box-id">
<!--inputs-->
</form>
注意:这里,'msg-box-id
' 是通用错误消息框的 ID。
**每个输入项的专属错误消息框**
在每个 input
标签中使用 data-message-loc
属性。
示例
<input data-message-loc="msg-box-id1">
<input data-message-loc="msg-box-id2">
使用 data-custom-regex 属性定义输入的自定义格式
您可以直接在输入项中添加 data-custom-regex
属性,以根据您的需求设置输入项的格式。
示例
例如,如果您想从用户那里获取一个 10 位数字,您可以简单地编写此代码。
<input type="text" data-custom-regex="^[0-9]{10}$">
注意:这里,"^[0-9]{10}$
" 是 10 位数字的正则表达式。
使用 data-password-pattern 属性验证密码
jrValidator
中有 5 种密码模式,如下所述。
模式 1:至少 8 个字符,至少包含 1 个字母和 1 个数字。
示例:valid12345
<input type="password" data-password-pattern="1">
模式 2:至少 8 个字符,至少包含 1 个字母、1 个数字和 1 个特殊字符。
示例:valid#12345
<input type="password" data-password-pattern="2">
模式 3:至少 8 个字符,至少包含 1 个大写字母、1 个小写字母和 1 个数字。
示例:Valid12345
<input type="password" data-password-pattern="3">
模式 4:至少 8 个字符,至少包含 1 个大写字母、1 个小写字母、1 个数字和 1 个特殊字符。
示例:Valid@12345
<input type="password" data-password-pattern="4">
模式 5:至少 8 个字符,最多 10 个字符,至少包含 1 个大写字母、1 个小写字母、1 个数字和 1 个特殊字符。
示例:Valid@123
<input type="password" data-password-pattern="5">
自定义:提供您自己的正则表达式来验证密码。
示例:1234587100
<input type="password" data-custom-regex="^[0-9]{10}$">
验证**重复输入的密码**
可以通过在密码类型的输入项中添加 data-password-pattern
和 data-for-password-id
两个属性来实现。
<input type="password" name="re_password" data-password-pattern="retype"
data-for-password-id="user_password">
注意:这里,"user_password
" 是要与 retype
密码匹配的密码类型输入项的 ID。
属性概览
required
- 用于指定用户必须填写输入字段。
data-validation-message
- 指定自定义错误消息。
data-accepted-file-format
- 指定文件类型输入项接受的文件格式。
data-message-loc
- 指定错误消息将显示的位置。
data-custom-regex
- 指定输入的自定义格式(仅接受正则表达式)。
data-password-pattern
- 指定输入的自定义格式(仅接受正则表达式)。
data-for-password-id
- 指定要与重复密码匹配的密码的 ID。