2013-10-16 50 views
5

在我的表單中,我有一個name =「Customer.Firstname」的輸入標籤,所以當我引用angularjs中的名稱值時,它只將客戶作爲值,而.Firstname未識別。 這裏是我的代碼:如何在name字段中有。(點)的情況下使用angularjs驗證表單?

<label class="label_block" ng-hide="ApplicantDetails.Customer.FirstName.$error.required || ApplicantDetails.Customer.FirstName.$error.pattern">FirstName</label> 
<span class="clearable"> 
    <input class="textbox" type="text" name="Customer.FirstName" ng-model="Customer.FirstName" ng-init="Customer.FirstName='@Model.Customer.FirstName'" value="@Model.Customer.FirstName" ng-pattern="/^([a-zA-Z-']{1,30})$/" required="required"/> 
</span> 

這裏我試圖隱藏標籤時文本框是我empty.How能做到這一點?

+0

你可以給不同的名稱比ng模型。它可以是CustomerFirstName。或者可能使用數組符號像Form ['Customer.FirstName'] – jpmorin

+0

可能重複[JavaScript屬性訪問:點符號與括號?](http://stackoverflow.com/questions/4968406/javascript-property-access- dot-notation-vs-brackets) – Stewie

回答

11

您可以使用bracket notation用點來訪問鍵

<label class="label_block" ng-hide="ApplicantDetails['Customer.FirstName'].$error.required || ApplicantDetails['Customer.FirstName'].$error.pattern">FirstName</label> 

演示:Fiddle

這可以被改寫爲

<label class="label_block" ng-show="ApplicantDetails['Customer.FirstName'].$valid">FirstName</label> 

演示:Fiddle

+0

非常感謝..它的工作 – PaRsH

+0

如果我們在文本框的名稱中有括號,比如'你可以想象一下這個文本框由一些html元素上的ng-repeat屬性呈現,而這個html元素又有這個文本框。在這種情況下括號表示法如何工作? –

+0

@Arun P Johny:我有一個類似的問題,我問在http://stackoverflow.com/questions/26146035/validating-form-using-angular-when-name-field-has-dots-and-brackets。請看一看。 –

相關問題