AngularJS 输入 $valid 总是 false 没有错误

AngularJS input $valid is always false with no error

我正在尝试在我的项目中应用 AngularJs 验证。于是写了下面的代码:

 <form name="recipeTitle">
   <input ng-if="edit" required type="text" ng-model="recipe.name" name="name"/>
 </form>
 <span>valid = {ng recipeTitle.name.$valid ng}</span>
 <span>errors = {ng recipeTitle.name.$error ng}</span>

如果输入中没有输入任何值,则returns:

valid = false
errors = {"required":true}

当输入字段中出现任何值时,验证 returns:

valid = false 
errors = {}

而且我不知道如何使 $valid 属性 变为 true。感谢任何帮助,谢谢。

我遇到了同样的问题。如果您使用 $scope:

它会起作用
<span>valid = {ng $scope.recipeTitle.name.$valid ng}</span>
<span>errors = {ng $scope.recipeTitle.name.$error ng}</span>

而不是

<span>valid = {ng recipeTitle.name.$valid ng}</span>
<span>errors = {ng recipeTitle.name.$error ng}</span>