shankar-thiyagaraajan/javascript-form-validator

此包已弃用且不再维护。作者建议使用 global-source/javascript-form-validator 包。

基于 JavaScript 的表单验证器。

0.9 2017-05-02 02:33 UTC

This package is not auto-updated.

Last update: 2019-02-20 19:12:33 UTC


README

Packagist Packagist License

安装

git clone https://github.com/global-source/javascript_form_validator.git
git checkout -b [VERSION]

为什么是我?

  • 支持 原生ES6 JavaScript,
  • 纯 JavaScript 代码(无依赖),
  • 简化实现,
  • HTML 5 验证支持所有浏览器,
  • 可靠的动态 DOM 验证级别,
  • 与元素动态自动滚动。

将验证器集成到表单的步骤

 <script src="formValidator.js"></script>
 or
 <script src="formValidator.es6.js"></script>

然后,将您的表单与验证器集成。

    
    var myform = new jsValidator().init({
        form: 'form2submit',   // #id
    });
    

选项

名称 描述 必需
form #ID ID 用于处理验证和过滤器。
forceFilter 布尔值 True,允许不进行表单验证即可进行表单过滤器。 False,默认。
message 对象 所有 HTML 元素的响应消息。
日志 布尔值 在控制台上启用错误日志。

操作

check():根据表单是否有效返回。

// Retrun status as True|False.
 myform.check() 

update():更新新创建的 DOM 元素到验证器。

 // It will update the DOM.
 myform.update() 

属性

名称 描述
required True, False 设置字段为必填项,以提交表单。
min Integer 设置最小值以进行操作。
max Integer 设置最大值以进行操作。
data-maxlength="10" Integer 设置字符的最大长度以进行操作。
maxLength="10" Integer 设置字符的最大长度以进行操作。
type="password" AlphaNumeric 设置和比较密码。
type="email" AlphaNumeric 检查电子邮件是否有效。
type="file" string ['png,jpeg..'] 检查是否允许文件格式。
data-message="Error Message" String 用户定义的,基于元素的直接错误消息以进行处理。
data-allow="onlyAlpha" Alphabets Only 仅允许字符串,不允许数字和特殊字符。
data-allow="string" Alphabets + Numbers Only 仅允许字符串和数字,不允许特殊字符。
data-allowSpecial="/_+" Special characters 仅允许给定的特殊字符。
[INDEX] Numeric 现在支持 Min&Max 验证以显示限制。

当前验证将在提交按钮触发时触发。

它具有自动监听器以监控表单上的每个更改。

注意

  1. 验证在标签之间进行,因此需要指定表单的 ID 或其他标签。
    或任何其他标签。
   <form id="form2submit"> </form>  // Preferred
           
   <div id=form2submit> </div>      // Not-Preferred.

通用输入验证

  1. 输入字段应指定验证类型。
   <form method="post" id="form2submit" novalidate>
    <div>
        <label>Only Alpha</label>
        <input type="text" data-allow="onlyAlpha" name="alpha"
               data-message="<b style='color:green'>This field is required.</b>" required>
    </div>
    <div>
        <label>String</label>
        <input type="text" data-allow="string" data-message="This also required." data-allowSpecial="+-" name="string"
               required>
    </div>
    <div>
        <label>Pattern</label>
        <input type="text" pattern="^[0-5]+$" data-allowSpecial="/-" name="pattern">
    </div>
    <div>
        <label>Number</label>
        <input type="number" name="number" required>
    </div>
    <div>
        <label>Min Validator</label>
        <input type="text" name="myNumber" min="5" max="10" required>
    </div>
    <div>
        <label>Email Validator</label>
        <input type="email" name="email" required>
    </div>
    <div>
         <label for="file">File</label>
         <input type="file" required class="form-control" id="file" data-extensions="png,jpeg,jpg" name="file">
    </div>
    <div>
        <label>Password</label>
        <input type="password" name="password" data-check="repassword" id="password" required>
    </div>
     <div>
        <label>Password</label>
        <input type="password" name="password" data-check="repassword" id="password" required>
    </div>
    <div>
        <label>List</label>
         <select name="list" required>
             <option value="item1">Item1</option>
             <option value="item2">Item2</option>
             <option value="item3">Item3</option>
         </select>
    </div>
    <div>
         <label>Description</label>
         <textarea required name="desc"></textarea>
    </div>
    <div>
        <input type="submit" value="Submit">
    </div>
</form>
  1. 在表单中使用 novalidate 来避免浏览器中断。

         <form method="POST/GET/PUT/PATCH/DELETE" action="PATH-TO-HANDLE" id="form2submit" novalidate> 
         ...
         ...
         </form>

示例

 // For Native & ES6 Javascript.
 var myform = new jsValidator().init({
        form: 'form2submit',   // #id
        forceFilter: true,
         message: {
            required: 'This field is required !',
            min: '<br><span style="color: red;">This field is less then the limit</span>',
            max: 'This field is exceeds the limit',
            password: 'Password doesn\'t match !',
            email: 'Invalid Email found !',
            file: 'Invalid File format given'
        }
    });
    

它将自动监听 提交 事件并启动验证检查。根据响应,它将允许提交或显示消息。

许可

版权(c)2016 Shankar Thiyagaraajan

MIT 许可证