具体来说:我有两个单选按钮,它们的ng-model值必须为布尔值。 由于使用普通的html值属性无法实现,因此我发现了有用的Angularjs ng-value。 问题是当我想进行一些验证时,选择单选按钮ng-value =“ false”时,它会将其识别为空的ng-model,并且出现验证错误。

示例http//plnkr.co/edit/lvdNHZoSSN1nM6uLyc0Q?p = preview

任何线索如何解决这个问题?

===============>>#1 票数:3

这是一个错误。

value="true/false"不起作用,因为在加载模型时不会初始化和正确检查您的无线电输入,但是ng-value="true/false"将不起作用,因为“ false”选择会导致表格无效。

我遇到了同样的问题,并将其报告为问题,但是由于无法告知何时将解决该问题,我还想出了一种解决方法: ng-boolean-radio

基本上,它将模型的布尔true / false值转换为字符串“ true” /“ false”值,该值与表单的字符串value="true/false"属性匹配。 默认情况下,当模型加载时,这将允许检查相应的无线电输入。 它还将允许您保存“ false”值,因为"false" != false

最后,通过将字符串“ true” /“ false”值转换回布尔值true / false来保留布尔数据类型,然后再将其保存在模型中。

希望对您有所帮助!

===============>>#2 票数:2

http://plnkr.co/edit/Y5vDuTug0kvS3Ut58Lz9?p=preview

问题出在required属性中。

我相信您正在寻找使用ng-required="!user.gender"

编辑:似乎ng-required稍好一点,但仍然不能完全正常工作。

我的建议是完全省略require并使用默认值初始化模型:

{gender: true}false也可以)。

===============>>#3 票数:0

我也有这个问题。 Michael Moussa的指令非常适合调试复选框/单选按钮的实际modelValue是什么。 事实证明,复选框/单选按钮undefined modelValuefalse 从1.2.0更新到1.2.5角度修复了我的问题。

  ask by EThron translate from so

未解决问题?本站智能推荐:

关注微信公众号