首页 新闻 会员 周边

如何用.net 特性 控制参数的长度?特性可以做这些事情么?

0
[已关闭问题] 关闭于 2013-01-09 15:05
下面的代码做的操作是 添加一个用户(根据用户的名称、用户名和密码), 如果添加成功返回 true 否则 返回false 
但是里面有一个验证,就是 当用户名 长度小于 5 或者 密码长度小于 5 也会返回false,这种情况下 需要通知 用户,用户名 和密码 长度 必须大于等于5 ,


但是现在的逻辑里面写 if
(username.Length < 5 || password.Length < 5) 就很不灵活,如果 AddEditor 返回false , 外部也不知道具体是什么原因返回了false ,无法提示具体的信息,

该怎么实现呢?用异常么?怎么些异常呢?

 1     public class EditorService
 2     {
 3 
 4         public static bool AddEditor(string name, string username, string password)
 5         {
 6             if (username.Length < 5 || password.Length < 5)
 7             {
 8                 return false;
 9             }
10 
11             EditorEntity ent = new EditorEntity();
12             ent.Id = IdDao.Get("editor");
13             ent.Name = name;
14             ent.Username = username;
15             ent.Password = password;
16 
17             return EditorDao.Add(ent);
18         }
fun5的主页 fun5 | 初学一级 | 园豆:4
提问于:2012-07-14 11:03
< >
分享
所有回答(3)
0

你看看你的

EditorDao.Add(ent);这个方法调用的是否正确,传的参数是否正确,可能是你这个方法中返回值有错误!
Smile@_@ | 园豆:231 (菜鸟二级) | 2012-07-14 12:21
0

1、使用异常的话,在函数中可以考虑这么实现:

 if (username.Length < 5 || password.Length < 5)
{
               throw new Exception("密码长度必须大于5个字符");
 }

2、从源头上对EditorEntity类进行限制,在EditorEntity类的Name属性的Setter方法是,判断长度,如果不符合要求,则抛出异常;

 

PS:这里使用的异常都是Exception,当然了,您可以自己自定义Exception类行

八戒的师傅 | 园豆:1472 (小虾三级) | 2012-07-14 23:54
0

你可以添加验证控件去实现的

Learning hard | 园豆:362 (菜鸟二级) | 2012-07-24 20:47
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册