Aşağıdaki görünüme sahip:Mütevazi doğrulama veri val niteliklerini yok sayan ama sınıf ile çalışan = "required"
$("form").validate();
if ($("form").valid()) {
//...
}
: uyandırmasına her saniye çalışır aşağıdaki JavaScript ile
@using (Html.BeginForm())
{
<div class="left-column">
@Html.LabelFor(m => m.Expression)
@Html.TextAreaFor(m => m.Expression, new { @spellcheck = "false" })
@Html.EditorFor(m => m.Sku)
</div>
}
metin alan elemanı için aşağıdaki html (tek unsur ihtiyaç doğrulama) oluşturur:
<textarea
data-val="true"
data-val-required="The Expression field is required."
cols="20" rows="2"
id="Expression" name="Expression"
spellcheck="false">
</textarea>
problem, tarayıcı araçlarını kullanarak class = "required" öğesini manuel olarak eklemediğim sürece doğrulama işleminin bir şey yapmadığıdır. Bu doğrulama işlemini yaparsam ve "İfade alanı gerekli" hata mesajı görüntülenir. Kesin "$ (" form ") olmak için, textarea boş olduğunda bile geçerli()" her zaman true değerini döndürür. Otomatik olarak veri-valfı niteliklerini oluşturan açıklamalar kullanıyorum, ben bunlara güvenmek istiyorum. Neyi yanlış yapıyorum?
Bilginize benim komut ref şuna benzer:
<script src="/Scripts/modernizr-2.0.6-development-only.js" ...
<script src="/Scripts/jquery-1.6.2.js" ...
<script src="/Scripts/Parser.js" ...
<script src="/Scripts/jquery.unobtrusive-ajax.js" ...
<script src="/Scripts/jquery.validate.js" ...
<script src="/Scripts/jquery.validate.unobtrusive.js" ...
Chrome ve IE9 hem oluşuyor web.config site çapında seti olabilir, benim doctype olan –
Formunuzda # paserForm işlevi var mı? Ayrıca, ASP.NET MVC sizin için 'validate' çağırıyor olmalı, kendiniz dememelisiniz. –
Evet öyle, ancak gerçek JS kodu sadece açıkça $ ("form") üzerinde çalışır, açıkça çağırır parserForm bir şey değişip değişmediğini görmek için bir testti. Aynı için geçerli .validate() –