我有一个表单将客户添加到一个表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>
答案 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