Ich verwende remote Validierung mit jQuery-Validierung.jQuery Validierung remote mit ungültigen Variablennamen: Wie zu beheben?
Ich versuche, meinen Server-Seite Code in MVC zu nennen, aber das Problem ist, dass mein Variable in einer verschachtelten Klasse:
public class Customer
{
public State HouseState {get;set;}
}
public class State
{
public string Name {get;set;}
}
In meiner * .cshtml ich diese:
@Html.TextBoxFor(m => m.HouseState.Name, new { placeholder = "State Name"})
ich füge Validierung mit diesem:
$.validator.addMethod("verify", verify);
$('#HouseState_Name').rules('add', {
verify: true,
remote: '@Url.Content("~/Home/Validate")',
messages: { verify: "No!" }
});
In diesem Fall wird es eine GET-Anforderung wie folgt erzeugen:
http://localhost/Home/Validate?HouseState.Name=CA
Das Problem ist, dass es meine Variable in dem Server House.Name
Hexe zu erwarten ist eine ungültige Variablennamen in C#.
Gibt es eine Möglichkeit, diese Variable im Client anzupassen oder einen Alias für die Variable im Server zu erstellen? Ich habe versucht zu verwenden FormCollection
und es hat funktioniert, aber ist weit von perfekt.
public JsonResult Validate(FormCollection form)
{
...
}
wollte ich einen Weg, um es wie folgt: Die
public JsonResult Validate(string stateName)
{
...
}
Nizza. Es hat den Trick gemacht. Das Problem ist jetzt, dass es tatsächlich eine DateTime-Variable ist und gerade hier eine falsche Kultur entsteht. Aber es ist ein anderes Problem. Vielen Dank. –