2010-12-06 28 views
20

ASP.Net MVC 3 RC, UsturaAsp.net MVC 3 RC - Jilet ValidationMessageFor CUSTOMMESSAGE ve ClientSideValidation Sorunu

Özel bir mesaj kullanmaya çalıştığınızda bazı beklenmeyen davranışlar yaşamak ve istemci tarafında doğrulama kullanarak. Sorun, hata olmasa bile her zaman özel mesajı gösterir.

İlk Adın Gerekli Olarak Ayarlandığı İstemci Modelim olduğunu varsayalım. Aşağıdaki koda sahip olursam, beklendiği gibi çalışan Submit'e tıklayana kadar doğrulama mesajı görüntülenmez.

@Html.EditorFor(model => model.Client.FirstName) @Html.ValidationMessageFor(model => model.Client.FirstName) 

Ama şimdi şöyle bir yıldız kullanmak doğrulama mesajı özelleştirmek isteyen ki: Ben teslim butonuna tıklayın bile önce Şimdi

@Html.EditorFor(model => model.Client.FirstName) @Html.ValidationMessageFor(model => model.Client.FirstName, "*") 

, alanın yanındaki yıldız işareti her zaman vardır .

Beklenen davranış, doğrulama hatası olduğunda yıldız işaretini göstermesidir.

Yardımlarınız için teşekkür ederiz.

cevap

25

sorun buldum, aşağıdaki CSS gereklidir: my üstlenmeden bu sınıflara boyunca yerde

.field-validation-valid 
{ 
    display: none; 
} 
.validation-summary-valid 
{ 
    display: none; 
} 

alınan. Yeni bir MVC 3 projesine başladığınızda varsayılan olarak oradalar. Umarım gelecekte birine yardım eder!

+4

Bana yardımcı oldu, bunu görene kadar onaylamamın neden gösterildiğini anlayamadım, teşekkürler! – mikelomaxxx14

+1

Evet, cazibe gibi çalışır. Teşekkür ederim. –

1

Seçilen cevap benim için çalışmadı. Aşağıdakileri kullanmak zorundaydım. Sınıfın "hata" olduğunu, "geçerli" olmadığını unutmayın. Bu, sayfa yüklemesinde gösterilen doğrulama mesajını gizler.

<style> 
.field-validation-error 
{ 
    display: none; 
} 
.validation-summary-valid 
{ 
    display: none; 
} 

</style>