J'ai un champ de type entier dans la base de données qui a la propriété "Not Null". Quand je crée une vue & faire une validation, si je laisse ce champ vide, il le considérera comme 0 donc je ne peux pas le comparer avec 0 parce que si quelqu'un insère une valeur 0 alors il sera considéré comme erreur!comment vérifier la valeur null du champ de type Integer dans la vue ASP.NET MVC?
un autre problème est que j'utilise Model error comme décrit dans le livre "ASP.NET MVC 1.0" @ Scott Gu blog. Et je vérifie la valeur dans la classe partielle de l'objet (créé par LINQ-To-SQL). i.e
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");
}
}
Il existe également un problème de portée.
Comme dans la base de données si j'ai déclaré smallint c'est-à-dire court dans C#, maintenant si je dépasse cette plage, alors il donne une erreur comme "Une valeur est demandée".
Alors, finalement, y a-t-il un meilleur moyen de validation dans ASP.NET MVC?
Mais si nous ne saisissez aucune valeur alors il Considérons 0. donc nous ne pouvons pas le vérifier avec -1. – Vikas
Je ne comprends pas ce que vous dites ici. Une valeur par défaut est une valeur par défaut (ce qui signifie qu'elle devrait avoir cette valeur chaque fois qu'aucune valeur n'a été définie). Si vous voulez dire pour le type nullable, alors la valeur est nulle si rien n'a été défini. –