是否可以强制ng-minlength为条件值?例如,我希望用户输入正确的中间名或者根本不输入任何内容:
<input type="text" id="middleName" name="middleName"
ng-model="info.middleName"
ng-minlength="info.middleName ? 2 : 0">
上面的语法不起作用。抛出“无限循环”错误。
答案 0 :(得分:2)
试试这个:
<input type="text" id="middleName" name="middleName"
ng-model="info.middleName"
ng-pattern="/^(?:.{2,})$/">
这使用正则表达式来做同样的事情。 2
是最小长度。逗号之后是最大长度(无限,因为没有任何东西)。
答案 1 :(得分:1)
ng-minlength
仅接受静态值。如果您正在寻找自定义解决方案,请尝试使用$observe
创建自己的指令。因此,为了回答您的问题,不能强迫ng-minlength
成为条件值。
答案 2 :(得分:0)
尝试这样的事情。这也更具可读性
<input type="text" id="middleName" name="middleName"
ng-model="info.middleName"
ng-minlength="getMinLength(info.middleName)">
在javascript文件中:
$scope.getMinLength = function getMinLength(dataModel) {
//whatever your model is...
return dataModel ? 2 : 0;
}