W mojej aplikacji ASP.NET MVC 4 staram się używać dyskretnej weryfikacji klienta przy pomocy Fluent Validation.ASP.NET MVC Dyskretna weryfikacja klienta nie działa
<script src="/Scripts/jquery.validate.min.js" type="text/javascript">
</script>
<script src="/Scripts/jquery.validate.unobtrusive.min.js" type="text/javascript">
</script>
Mam dwa pliki .js, które VS2010 zapewnia po utworzeniu nowej aplikacji ASP.NET MVC 4. Mam również włączone sprawdzanie poprawności strony klienta w moim pliku web.config.
<appSettings>
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
</appSettings>
O ile mi wiadomo, kiedy jest włączone walidacji klienta i dyskretny JavaScript, pola wejściowe z reguły walidacji klienta zawierają dane-val = „true” atrybutu do uruchomienia dyskretne walidacji klienta. I mam te pola na moich polach wejściowych.
Na przykład
<input class="input-validation-error" data-val="true" data-val-
required="error text here" id="purchasePrice"
name="PurchasePrice" type="text" value="">
<span class="field-validation-error error" data-valmsg-for="PurchasePrice"
data-valmsg-replace="true">'Purchase Price' must not be empty.</span>
Jednak, kiedy przedstawić moją formę, to jest wysyłany do sterownika i mój model jest zaznaczone na mojego kodu sterownika, zamiast po stronie klienta.
EDIT:
To jest mój tag otwarcie formularza.
@using (Html.BeginForm("Create", "Product", FormMethod.Post,
new { enctype = "multipart/form-data", @class = "mainForm",
@id = "productCreateForm" }))
Wszelkie pomysły? Dzięki.
Głupie pytanie, ale czy upewniłeś się, że główny plik jQuery js i dwa, które tam pokazałeś, zostały poprawnie rozwiązane? –
główny plik jQuery jest zdecydowanie rozwiązany, mam wiele funkcji jQuery działa poprawnie. Nie wiem, czy dwa z nich rozwiązały się, czy nie. Te pliki istnieją i wydają się dostępne w części skryptów w chromowanych narzędziach programistycznych. –
Kolejne głupie pytanie, czy wygenerowałeś dane wejściowe z modelu do sprawdzenia? –