验证帮助形成AngularJS

时间:2015-07-24 19:36:22

标签: angularjs

我有一个表单将客户添加到一个表mysql中,但我喜欢对输入表单进行验证,只需加入十六进制0-9和af只是小写并且在这个模式上:xxxx.xxxx.xxxx当“x “可以是0-9和af,也不是空的。

我的表格:

<form name="product_form" class="form-horizontal" role="form" novalidate>
    <form-element label="MAC ADDRESS" mod="product">
        <input type="text" class="form-control" name="name"
               placeholder="Mac Address" ng-model="product.name" focus/>
    </form-element>
</form>

2 个答案:

答案 0 :(得分:0)

要执行此操作或任何其他基于模式的验证,您可以使用ng-pattern内置指令输入https://docs.angularjs.org/api/ng/directive/input

在您的情况下,您只需要使用正则表达式:

/[a-f0-9]{4}\.[a-f0-9]{4}\.[a-f0-9]{4}/

所以你的输入变为:

<input type="text" class="form-control" name="name"
           placeholder="Mac Address" ng-model="product.name" focus ng-pattern="/[a-f0-9]{4}\.[a-f0-9]{4}\.[a-f0-9]{4}/" required/>

示例的Plunker:http://plnkr.co/edit/gazY4z9PJbbtINQC7ziu?p=preview

答案 1 :(得分:0)

验证工作正常。除非你匹配整个pattern.xxxx.xxxx.xxxx

,否则它会抛出错误
<form name="product_form" class="form-horizontal" role="form" novalidate>
    <form-element label="MAC ADDRESS" mod="product">
        <input type="text" class="form-control" name="name"
               placeholder="Mac Address" ng-model="product.name" focus required ng-pattern="/[a-f0-9]{4}\.[a-f0-9]{4}\.[a-f0-9]{4}/" />
        <span ng-if="product_form.name.$error.required">This field is required</span>
        <span ng-if="product_form.name.$error.pattern">Pattern doesnot match</span>
    </form-element>
</form>

以下是JSFIDDLE