2

我试图弄清楚是否可以使用 ServiceStack Razor 进行老式的服务器端表单验证。

例如:对 url 的 GET 会返回带有表单的 razor 模板。当用户发布表单时,请求 DTO 被验证,如果有错误,用户会看到相同的表单,原始值重新填充为错误的字段,并且以某种方式标记错误。另一方面,如果请求 DTO 有效,则服务会将用户重定向到另一个页面。

这种情况可能吗?

如果是这样,人们将如何实施它?我想我必须为此编写某些过滤器或功能才能工作,但是我想知道哪种策略需要最少的编码。

(我知道 javascript 验证是可能的,但是我的问题特别是是否可以通过服务器端验证来往返表单)。

4

2 回答 2

2

查看 ss-validation.js,它可用于根据 ServiceStack 的 ResponseStatus 将验证错误应用于您的表单。

所以我们使用 FluentValidation 编写我们所有的验证代码服务器端,然后在往返 ss-validation 读取 ResponseStatus 并应用标记。

开箱即用的是假设 Bootstrap 样式验证,但它很容易修改以满足您的需要,例如我们修改为显​​示内联图标工具提示而不是内联/阻止消息,并提供错误摘要。

于 2013-04-15T15:26:15.727 回答
1

在对 ServiceStack 代码库进行了大量探索之后,似乎理论上可以实现所需的场景。

代码已经包含ModelMetadataModelMetadataProviders类,并且一些 HTML 帮助程序是从System.Web.Mvc.

可悲的是,这些课程并没有完全连线,所以我想这需要大量的工作才能让一切如预期的那样正常工作。

于 2013-04-05T16:56:22.220 回答