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

PaR*_*RsH 5 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>
Run Code Online (Sandbox Code Playgroud)

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

Aru*_*hny 11

您可以使用括号表示法来访问带点的键

<label class="label_block" ng-hide="ApplicantDetails['Customer.FirstName'].$error.required || ApplicantDetails['Customer.FirstName'].$error.pattern">FirstName</label>
Run Code Online (Sandbox Code Playgroud)

演示:小提琴

这可以改写为

<label class="label_block" ng-show="ApplicantDetails['Customer.FirstName'].$valid">FirstName</label>
Run Code Online (Sandbox Code Playgroud)

演示:小提琴