MVC3 と目立たない検証を使用してフォームをチェックしています。ユーザーはリストから施設を選択し、監査名を入力できます。監査名は施設に対して一意である必要がありますが、各施設は同じ名前の監査を持つことができます。
モデルは次のようになります。
[DisplayName("Audit Name")]
[Remote("CheckAuditName", "Audit", ErrorMessage = "The audit name has already been used for this Healthcare Facility", AdditionalFields = "HealthcareFacilitySysId")]
public string AuditName { get; set; }
[DisplayName("Healthcare Facility")]
public long HealthcareFacilitySysId { get; set; }
public IEnumerable<SelectListItem> AvailableHealthcareFacilities { get; set; }
リモート検証は機能しており、適切なタイミングで適切なメッセージを受け取りますが、次のようにだますことができます。
- 施設1を選択
- 施設 2 で既に使用されている監査名を入力してください
- 施設 2 を選択
- フォームを送信する
施設リストの変更イベントで呼び出してみました
$('form').validate().valid()
$('#AuditName').blur()
などですが、手動で呼び出したときにリモートメソッドを検証するためのフォームを取得できません。それは可能ですか?