如果用户输入“五百”,“输入类型=数字”如何显示错误消息

时间:2015-09-18 09:35:59

标签: javascript angularjs user-input

如果用户没有在字段中键入数字(例如“五百”或“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会更好)

2 个答案:

答案 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]+)?$/"
                />