如果用户没有在字段中键入数字(例如“五百”或“9987-”),则angular不会将其作为错误处理,并且不显示错误(ng-class不是在这个例子中改变了。)
<div class="form-group"
ng-class="{ 'has-error' : submitted && form.price.$error.pattern }">
<input name="price" id="price" type="number"
ng-model="formOb.price"
ng-pattern="/^[0-9]+([\.|,][0-9]+)?$/"
/>
有办法解决这个问题吗?如何将班级改为“有错误”? (如果没有使用直接的javascript会更好)
答案 0 :(得分:0)
ng-pattern仅在将html标记与name绑定时才起作用。只需要name属性即可启动并运行示例。
检查此链接以获取更多详细信息: Angularjs Forms
答案 1 :(得分:0)
将类型设置为“文本” - Angular将通过ng-pattern捕获此项 - 如果使用type =“number”,则某些浏览器甚至可能无法传递要检查的输入值用你的模式。
<div class="form-group"
ng-class="{ 'has-error' : submitted && form.price.$error.pattern }">
<input name="price" id="price" type="text"
ng-model="formOb.price"
ng-pattern="/^[0-9]+([\.|,][0-9]+)?$/"
/>