Ich habe Integer-Typ-Feld in der Datenbank, die Eigenschaft "Not Null" hat.Wie überprüft man den Nullwert des Integer-Felds in der ASP.NET MVC-Ansicht?
Wenn ich eine Ansicht erstellen & mache eine Validierung, wenn ich dieses Feld leer gelassen habe, wird es als 0 betrachten, also kann ich es nicht mit 0 vergleichen, denn wenn jemand einen Wert 0 eingibt, wird es als Fehler betrachtet!
ein anderes Problem ist, dass ich Modellfehler verwende, wie in dem Buch "ASP.NET MVC 1.0" @ Scott Gu Blog beschrieben. Und ich überprüfe den Wert in der partiellen Klasse des Objekts (erstellt von LINQ-To-SQL). d. h.
public partial class Person
{
public bool IsValid
{
get { return (GetRuleViolations().Count() == 0); }
}
public IEnumerable<RuleViolation> GetRuleViolations()
{
if (String.IsNullOrEmpty(Name))
yield return new RuleViolation("Name is Required", "Name");
if (Age == 0)
yield return new RuleViolation("Age is Required", "Age");
yield break;
}
partial void OnValidate(ChangeAction action)
{
if (!IsValid)
throw new ApplicationException("Rule violations prevent saving");
}
}
Es gibt auch ein Problem mit der Reichweite.
Wie in der Datenbank, wenn ich als smallint deklariert bin, d. H. Kurz in C#, jetzt, wenn ich diesen Bereich überschreite, dann gibt es einen Fehler wie "Ein Wert ist erforderlich".
Also gibt es endlich die beste Möglichkeit zur Validierung in ASP.NET MVC?
Aber wenn wir einen beliebigen Wert eingeben nicht dann beachte 0. also können wir es nicht mit -1 überprüfen. – Vikas
Ich verstehe nicht, was du hier sagst. Ein Standardwert ist ein Standardwert (dh, dieser Wert sollte immer dann vorhanden sein, wenn kein Wert festgelegt wurde). Wenn Sie für den Nullable-Typ meinen, dann ist der Wert null, wenn nichts gesetzt wurde. –