如果名称字段中包含。(点),如何使用angularjs验证表单?

时间:2013-10-16 12:20:39

标签: javascript jquery angularjs

在我的表单中,我有一个名为=“Customer.Firstname”的输入标记,所以当我在angularjs中引用name值时,它只将customer作为值而且.firstname将被识别。 这是我的代码:

<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>

这里我试图在文本框为空时隐藏标签。我怎么能这样做?

1 个答案:

答案 0 :(得分: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