sto cercando di presentare una mia forma, ma ho aggiunto un po 'di jQuery per la convalida che funziona:Html.BeginForm utilizzando onSubmit per convalidare
$(function validateForm() {
$("#newMonoReading").on('focusout', function() {
var str = "";
var initialMonoReading = $('#InitialMonoReading').val();
var newMonoReading = $('#newMonoReading').val()
if (~~newMonoReading < ~~initialMonoReading) {
$('#MonoErrorMessage').text("New Mono Readings must be MORE than existing");
$('#MonoErrorMessage').show();
return false;
} else {
$('#MonoErrorMessage').hide();
}
});
});
Ma il problema è sul pulsante di invio
<input type="submit" value="Submit" class="btn btn-primary">
Se si verifica un errore, il pulsante di invio funziona ancora, ho bisogno che non mostri messaggi di errore e poi invii, ma ho provato a utilizzare onsubmit per il modulo ma non funziona, viene comunque inviato anche se il valore è inferiore e l'errore messaggio sta mostrando
Questo è l'html.BeginForm. penso che l'errore potrebbe essere qui. non sono davvero sicuro.
<div class="modal-body">
@using (Html.BeginForm("Save", "ReadingsEntry", FormMethod.Post, new { enctype = "multipart/form-data", onsubmit = "validateForm()" }))
{
Tutte le idee
È necessario gestire l'evento 'submit', eseguire la convalida e quindi annullare se c'è un errore, ma potresti semplicemente usare un [infallibile] (attributo https://foolproof.codeplex.com/) '[GreaterThan]' –