0

Ich habe ein einfaches Formular wie dieses, das nur zwei Werte string action und editText akzeptiert. Gibt es eine Möglichkeit, die unobtrusive Client-Validierung ohne Daten-Annotationen zu aktivieren? Oder muss ich das Modell akzeptieren und Datenanmerkungen verwenden? Ich brauche es nur um sicherzustellen, dass editText mindestens 5 Zeichen lang ist.Unauffällige Client-Validierung ohne das Modell zu akzeptieren

@using (Ajax.BeginForm("Action", "Controller", null, new AjaxOptions { OnFailure = "error", UpdateTargetId = "Pcedit" + @Model.ID})) 
    {         
    <textarea rows="3" cols="2" name="editText" style="width:100%;"></textarea> 
    <br /> 
    <input type="submit" name="action" value="Save"/> 
    <input type="submit" name="action" value="Cancel"/> 
    } 

Antwort

1

Die unauffällige Client-Validierung verwendet jquery.validate ich glaube? Rufen Sie es einfach direkt auf dem Client auf, indem Sie Javascript verwenden. Etwas wie:

$("#myform").validate({ 
    rules: { 
    editText: { 
     required: true, 
     minlength: 5 
    } 
    } 
}); 

http://docs.jquery.com/Plugins/Validation/Methods/minlength

+0

Dank, das funktioniert! – formatc

+1

Es wird jedoch keine unauffällige Validierung verwendet und trennt die Ansicht vom Backing-Modell. Auf diese Weise implementieren Sie eine reine JavaScript-Validierung. Bei der unauffälligen Validierung mit mvc müssen Sie die Validierungseigenschaften nur einmal definieren und sie werden sowohl für die clientseitige als auch für die serverseitige Validierung verwendet. Jetzt haben Sie nur noch Client-Seite, also müssen Sie die Server-Validierung separat durchführen. –

+0

Ich würde gerne wissen, wie Sie das zur Arbeit gebracht haben. Das Hinzufügen von $ ("form"). Validate() mit einigen Regeln wird für mich komplett ignoriert. Es scheint, als ob unauffällig Kontrolle die Dinge übernimmt und es sieht nicht so aus, als könnten Sie reine jQuery-Client-Validierungsregeln darin mischen. –