Mam problem z moją aplikacją ASP.NET MVC 3. Mam 2 właściwości w moim modelu, zgodnie z którymi chcę, aby tylko jeden z nich był wymagany w moim widoku na podstawie tego, który z nich jest pusty. Tak na przykład, jeśli wprowadzić numer telefonu, a następnie e-mail nie jest już wymagane i vice versa, ale jeśli mogę zostawić zarówno puste, wówczas powinny być wymagane 1, poniżej jest mój model:Walidacja modelu/ASP.NET MVC 3 - warunkowy wymagany atrybut
[Display(Name = "Contact Phone Number:")]
[MaxLength(150)]
public string ContactPhoneNumber { get; set; }
[Display(Name = "Contact Email Address:")]
[MaxLength(100)]
public string ContactEmailAddress { get; set; }
musiałbym utworzyć niestandardowy atrybut do sprawdzenia poprawności mojego modelu, a jeśli tak, w jaki sposób mogę to osiągnąć?
jak o walidacji po stronie klienta? – jgauffin
Prawdopodobnie podłącz się do wtyczki sprawdzania poprawności jQuery, dodając niestandardową regułę. '$ ('form'). validate(); $ ("formularz"). rules ('add', {"ContactPhoneNumber": {zależy: funkcja (el) {return! $ ('# ContactEmailAddress'). val();}}}); 'lub podobny – tvanfosson
I Trochę pogrzebałem, ale nie znalazłem łatwego sposobu na stworzenie atrybutu, który łączy się z zautomatyzowanym środowiskiem walidacyjnym po stronie klienta. Jeśli jesteś zainteresowany, możesz prześledzić sposób, w jaki jest porównywany atrybut CompareAttribute i zobaczyć, czy możesz rozszerzyć framework o coś podobnego. – tvanfosson