2016-10-05 60 views
0

我有動態生成的具有標籤名稱數值的表單。 e.g:
代碼:角度js驗證creats解析錯誤,當表單標籤名稱是數字

<div class="form-group" ng-repeat="x in siteSettings"> 
    <label class="control-label col-md-3" for="field_{{x.iFieldId}}">{{x.vLabel}} <span ng-if="x.eRequired = 'y'" class="text-danger">*</span></label> 
    <div class="col-md-4" ng-if="x.vType == 'text' || x.vType == 'email' || x.vType == 'password'"> 
     <input type="{{x.vType}}" value="{{x.vValue}}" class="form-control" ng-class="{{x.vClass}}" maxlength="25" name="{{x.iFieldId}}" id="field_{{x.iFieldId}}" ng-required="x.eRequired = 'y'" data-ng-model="x.vValue"> 
     <span class="help-block">{{x.vHint}}</span> 
    </div> 
    <span ng-show="form_siteSettings.{{x.iFieldId }}.$dirty && form_siteSettings.{{x.iFieldId}}.$error.required" class="help-block text-danger">{{x.vLabel}} is required</span> 
</div> 

呈現的HTML部分:

<div class="form-group ng-scope" ng-repeat="x in siteSettings"> 
    <label class="control-label col-md-3 ng-binding" for="field_1"> 
    Site Name <span ng-if="x.eRequired = 'y'" class="text-danger ng-scope">*</span> 
    </label> 
    <div class="col-md-4 ng-scope" ng-if="x.vType == 'text' || x.vType == 'email' || x.vType == 'password'"> 
     <input type="text" value="Fantasy Lotto" class="form-control ng-pristine ng-untouched ng-valid ng-not-empty ng-valid-required ng-valid-maxlength" ng-class="" maxlength="25" name="1" id="field_1" ng-required="x.eRequired = 'y'" data-ng-model="x.vValue" required="required"> 
     <span class="help-block ng-binding">Site name which you want to display</span> 
    </div> 
    <span ng-show="form_siteSettings.1.$dirty &amp;&amp; form_siteSettings.1.$error.required" class="help-block text-danger ng-binding">Site Name is required</span> 
</div> 

錯誤:$解析:語法 語法錯誤

Syntax Error: Token '.1.' is an unexpected token at column 18 of the expression [form_siteSettings.1] starting at [{4}]. 

它可以通過添加前綴字段_ {{x.iFieldId}}作爲變量名稱與數值不支持,但是有沒有什麼辦法實現相同的使用數值?

+1

變量名不支持數 –

+1

使用像「form_siteSettings [1] 。$ dirty && form_siteSettings [1]。$ error.required「 –

+0

我知道,但有沒有辦法通過添加過濾器或其他 –

回答

0

與數值變量的萬阿英,蔣達清,問題已經解決通過更換以下HTML

<span ng-show="form_siteSettings.{{x.iFieldId }}.$dirty && form_siteSettings.{{x.iFieldId}}.$error.required" class="help-block text-danger"> 
{{x.vLabel}} is required 
</span> 

<span ng-show="form_siteSettings[x.iFieldId].$dirty && form_siteSettings[x.iFieldId].$error.required" class="help-block text-danger"> 
{{x.vLabel}} is required 
</span>