Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Validation N层问题:在哪里进行变量转换?_Validation_N Tier Architecture - Fatal编程技术网

Validation N层问题:在哪里进行变量转换?

Validation N层问题:在哪里进行变量转换?,validation,n-tier-architecture,Validation,N Tier Architecture,我们的UI将用户输入公开为字符串。所有这些,包括日期和数字,都以字符串的形式出现。问题是:在UI中将它们转换为适当的类型(datetime、int等)更好吗(然后将转换后的var传递给BLL方法),还是在BLL本身中更好 UI类型转换应该在UI层而不是BL层中完成。这将使UI与BL分离。我更喜欢在UI中进行类型转换,并让BLL期望正确的数据类型。输入验证和转换应该在UI层上完成 这不仅可以让您的业务层处理类型化数据,还可以让您在输入错误类型或值超出您的范围*时轻松抛出UI错误消息 *对于这类事情

我们的UI将用户输入公开为字符串。所有这些,包括日期和数字,都以字符串的形式出现。问题是:在UI中将它们转换为适当的类型(datetime、int等)更好吗(然后将转换后的var传递给BLL方法),还是在BLL本身中更好

UI类型转换应该在UI层而不是BL层中完成。这将使UI与BL分离。

我更喜欢在UI中进行类型转换,并让BLL期望正确的数据类型。

输入验证和转换应该在UI层上完成

这不仅可以让您的业务层处理类型化数据,还可以让您在输入错误类型或值超出您的范围*时轻松抛出UI错误消息

*对于这类事情,有些框架有自己的验证逻辑。。。ASP.NET是我能想到的第一个