Ich habe die Ansicht unter:Führen Sie die Validierung auf versteckte Felder
@Html.LabelFor(m => m.CompanyPostCode)
@Html.TextBoxFor(m => m.CompanyPostCode)
@Html.LabelFor(m => m.CompanyCity)
@Html.TextBoxFor(m => m.CompanyCity)
@Html.HiddenFor(m => m.CompanyCityID)
sind alle Attribute wie [Erforderlich] meiner Meinung nach Modell markiert. Dann ist das Problem, dass meine CompanyCityID (als Required markiert) ausgeblendet ist und somit keine Validierung in der Ansicht erfolgt. Wenn ich dieses Attribut in meiner Ansicht zeige, ist die Validierung abgeschlossen.
Meine Frage: ist es möglich, eine Validierung auf einem versteckten Feld durchführen? Ein Workaround existiert?
Es mag ein wenig seltsam erscheinen, ein verstecktes Feld zu validieren. Der Grund dafür ist, dass dieses Feld basierend auf speziellen Regeln aus jQuery gefüllt wird. Wenn es nicht gefüllt ist, weiß ich, dass etwas in der Ansicht nicht gültig ist.
Danke.
Vielen Dank. Das ist mir jetzt klar. – Bronzato
Ich hasse es wirklich, der Typ zu sein, der Leute korrigiert, aber die Einstellung ignoriert wird nicht von jquery.validate.unobtrusive.js gesetzt. Beachten Sie auch, wie setDefaults funktioniert, bevor Sie es verwenden. Wenn Sie die Standardwerte festlegen, nachdem Sie die Validierung für das Formular bereits verdrahtet haben, sind Sie mit diesem Aufruf zu spät. Bitte lesen Sie meine Beschreibung für eine ausführlichere Erklärung. http://stackoverflow.com/questions/8466643/jquery-validate-enable-validation-for-hidden-fields/14574974#14574974 – JustinMichaels
@JustinMichaels, vielleicht hat sich etwas geändert, seit ich diese Antwort geschrieben habe. Zu dieser Zeit habe ich jquery.validate.unobtrusive.js überprüft und die Einstellung ignoriert. –