Javascript 角度形式上的自定义验证-关于模糊
在Angular中,我尝试验证模糊上的字段值。我有一个客户列表,我想检查字段中的模型值是否在我的客户列表中。如果不是,我想将有效性设置为false 我知道存在Javascript 角度形式上的自定义验证-关于模糊,javascript,angularjs,validation,angularjs-directive,angular-ngmodel,Javascript,Angularjs,Validation,Angularjs Directive,Angular Ngmodel,在Angular中,我尝试验证模糊上的字段值。我有一个客户列表,我想检查字段中的模型值是否在我的客户列表中。如果不是,我想将有效性设置为false 我知道存在ng model options=“{updateOn:'blur'},但是,我不能使用此字段,因为该字段是一个typeahead,因此必须根据模型进行更新。在blur上需要进行验证 答案似乎是: 将其作为函数写入控制器,并像在指令中一样使用$SETVALITY。使用ng blur在输入字段中触发该函数 -但是,我经常遇到一些示例,其中自定
ng model options=“{updateOn:'blur'}
,但是,我不能使用此字段,因为该字段是一个typeahead,因此必须根据模型进行更新。在blur上需要进行验证
答案似乎是:
我发现这个链接对自定义验证非常有帮助,但在函数和指令之间的区别上,我仍然存在相同的问题:我使用了ui引导用于typeahead,并对验证进行了大量控制 编辑-代码示例
不在列表中!!
当您选择一个不在列表中的值时,将显示div我已将ui引导用于typeahead,并对验证进行了大量控制 编辑-代码示例
不在列表中!!
当您选择一个不在列表中的值时,div将显示为我们最近正在处理的内容:
<form name='vm.formName' id='vm.formName' novalidate>
<input type='text' id='textField' name='textField' ng-blur='vm.blurMethod()' ng-model='vm.model.text' />
// The submit is only here for show;
<input type='submit' id='submit' ng-click='vm.submitForm()' />
</form>
这是我脑子里想不出来的,我会在早上看一看,看看它是否反映了我们一直在使用的东西。现在更新了$setValidity调用
这假设您使用的是controllerAs:“vm”语法,这就是为什么表单名为“vm.formname”,而控制器使用的是“This”。我们最近一直在研究:
<form name='vm.formName' id='vm.formName' novalidate>
<input type='text' id='textField' name='textField' ng-blur='vm.blurMethod()' ng-model='vm.model.text' />
// The submit is only here for show;
<input type='submit' id='submit' ng-click='vm.submitForm()' />
</form>
这是我脑子里想不出来的,我会在早上看一看,看看它是否反映了我们一直在使用的东西。现在更新了$setValidity调用
这假设您使用的是controllerAs:“vm”语法,这就是为什么表单名为“vm.formname”,而控制器使用的是“This”。typeahead工作正常。您在说什么样的验证?如果没有结果,我希望表单中出现错误:“typeahead no results$(默认值:angular.noop)-绑定到指示是否未找到匹配结果的变量。“现在它显示没有结果,但它不会在我的表单中抛出错误。这对我没有帮助。我没有结果工作,它显示div。这部分很简单。不起作用的是验证,例如,此链接中显示的内容:。在这种情况下,如果typeahead没有显示任何结果,则不能提交表单。如果有帮助的话,下面的答案更接近于我想要的答案。你在说什么样的验证?如果没有结果,我希望表单中出现错误:“typeahead no results$(默认值:angular.noop)-绑定到一个变量,该变量指示是否未找到匹配的结果。”现在它显示没有结果,但不会在表单中引发错误。这对我没有帮助。我没有结果工作,它显示div。这部分很简单。不起作用的是验证,例如,此链接中显示的内容:。在这种情况下,如果typeahead没有显示任何结果,则不能提交表单。如果有帮助的话,下面的答案更接近于我想要的答案。这看起来很有希望,期待明天的更新Whey rrd,有没有发现它是否与你一直使用的内容匹配?是的,我更新了帖子,这就是我们正在使用的。在表单上调用$setValidity(),并将输入字段作为参数。接受您的答案,不得不调整我的解决方案,但您将我带到了正确的位置。唯一让人恼火的是,在typeahead上进行选择显然是一个“模糊”操作,因此它会在函数中运行两次。这看起来很有希望,期待明天的更新Whey rrd,有没有发现它是否与您使用的内容匹配?是的,我更新了帖子,这就是我们使用的内容。在表单上调用$setValidity(),并将输入字段作为参数。接受您的答案,不得不调整我的解决方案,但您将我带到了正确的位置。唯一令人恼火的是,在typeahead上进行选择显然算作“模糊”操作,因此它会在函数中运行两次。