1、首先给表单一个 name , 在对 input 进行校验时 也需要在 input 上添加一个 name。曾因 form 和 input 上没添加 name 而出问题
2、去除浏览器 自带的验证,在 form 上添加 novalidate
3、在 input 上进行验证,验证的类型有:
<div ng-app="myApp" ng-controller='formCtrl'> <form name="formName" role="form" novalidate> <!--必填项验证 s--> <div> <input type="text" name="name" ng-model="name" required /> <span ng-show="formName.name.$dirty && formName.name.$invalid"> <span ng-show="formName.name.$error.required">name is required</span> </span> </div> <!--必填项验证 e--> <!--最小长度验证 s--> <div> <input type="text" name="minLength" ng-model="minLength" ng-minlength="3" /> <span ng-show="formName.minLength.$dirty && formName.minLength.$invalid"> <span ng-show="formName.minLength.$error.minlength"> 最少3位 </span> </span> </div> <!--最小长度验证 e--> <!--最大长度验证 s--> <div> <input type="text" name="maxLength" ng-model="maxLength" ng-maxlength="6" /> <span ng-show="formName.maxLength.$dirty && formName.maxLength.$invalid"> <span ng-show="formName.maxLength.$error.maxlength"> 最多6位 </span> </span> </div> <!--最大长度验证 e--> <!--模式匹配验证 s --> <div> <input type="text" name="Pattern" ng-model="Pattern" ng-pattern="/[a-zA-Z]/" /> <span ng-show="formName.Pattern.$dirty && formName.Pattern.$invalid"> <span ng-show="formName.Pattern.$error.pattern"> 格式不对 </span> </span> </div> <!--模式匹配验证 e --> <!--电子邮件验证 s --> <div> <input type="email" name="email" ng-model="email" required /> <span ng-show="formName.email.$dirty && formName.email.$invalid"> <span ng-show="formName.email.$error.required">Email is required</span> <span ng-show="formName.email.$error.email">Invalid Email Address</span> </span> </div> <!--电子邮件验证 e --> <!--数字验证 s --> <div> <input type="number" name="phone" ng-model="number" required length="10" /> <span ng-show="formName.phone.$dirty && formName.phone.$invalid"> 数字格式 </span> </div> <!--数字验证 e --> <!--url 验证 s --> <div> <input type="url" name="url" ng-model="url" required /> <span ng-show="formName.url.$dirty && formName.url.$invalid"> <span ng-show="formName.url.$error.required"> url is required </span> <span ng-show="formName.url.$error.url"> Invalid Url </span> </span> </div> <!--url 验证 e --> <!--按钮显示控制 s --> <div> <input class="btn btn-primary btn-lg" type="submit" ng-disabled="formName.$invalid" value="提交" /> </div> <!--按钮显示控制 s --> </form> </div>