Ars*_*nko 5 asp.net usability user-interface
我最近收到了一位同事关于我的网站源代码的反馈.他说,不能优雅地处理视觉界面不允许做的事情是不好的做法.
由于它不是很清楚,这是一个例子.
假设访问者可以发表评论.
nvarchar(500)列中的数据库中.<input />字段长度被限制为500.但是,当然,没有什么禁止更高级的用户禁用长度限制并键入501字符.
(其他例子:提交不即使在存在一个选项<select />.但有是当用户被要求输入一个号码一个优美的错误,她进入一个非数字代替,因为按键事件是通过JavaScript控制和JavaScript可能被禁用)
如果访问者这样做,代码合同级别就会失败.AJAX请求将因意外错误而失败(或者,在页面提交时,将出现意外错误).在所有情况下,访问者都会看到发生了错误,但没有优雅的消息表明提交的评论的长度太长.
为什么这是不好的做法?为什么我会费心为那些正确使用网站的访问者永远不会有的情况设计清晰明确的错误消息?
注意:我知道在发生类似这样的事情时显示.NET Framework详细错误和堆栈跟踪很糟糕.如果我这样做,这是一个严重的安全问题.但在我的情况下,只有一个非常通用的AJAX响应或重定向到通用页面,并对错误道歉.
由于每个人似乎都错过了你的实际问题,我会投入我的2c(尽管我无疑会被报复)
只要你的输入被验证服务器端(你的客户端maxlength可能没问题,虽然一些不起眼的浏览器可能不支持它),你可以返回一般错误信息,只要它不包含任何异常信息(你已经说明了它)没有).
但是,如果由于缺少javascript或不正确的输入而导致验证失败,则应提供自定义错误消息以便用户理智.
简而言之,你正在做的事情很好.
| 归档时间: |
|
| 查看次数: |
223 次 |
| 最近记录: |