您可以将.NET后端函数传递到React/Vue/etc前端以供客户端执行吗



作为一个任意的例子,假设我有一个登录页面,需要用户名和密码,并且这些字段必须通过某些验证。假设用户名必须包含大写的"a",密码必须为8个字符。前端需要通知用户这些验证,无论是在本地还是通过询问后端。用户提交表单后,后端必须检查这些验证,并通过函数(为了参数起见(CheckLogin(form)进行检查。是否可以将此函数传递给前端,以便它可以运行与后端相同的验证,而无需在提交前要求后端验证表单?

需要明确的是,在这个例子中,将这两个验证添加到前端显然是微不足道的。我更感兴趣的是,如果这是一个大型表单,那么只有一个地方可以更改或添加验证,并保证用户看到的验证与接受表单之前运行的验证相同,这将非常方便

感觉这在c#和javascript之间是不可能的,但nodeJS后端呢?

TLDR:您可以将后端表单验证函数传递给前端,以便在客户端机器上运行吗?

客户端验证不能完全信任,只有在后端运行验证时,才能确保验证正确进行。

也就是说,您可以将验证参数发送到客户端,并使用您的首选验证库来实现它们。

例如:

  1. 客户端请求验证参数(我们称之为GET /validations?for=situation(
  2. 服务器使用验证参数进行响应,如下所示:
    {
    "field1": {
    "type": "string",
    "length": 8,
    "match": "some regex string",
    // ...
    },
    // ...
    "fieldN": {
    "type": "number",
    "min": 3,
    // ...
    }
    }
    
  3. 使用诸如yup之类的验证库来放置要使用的参数

希望这能有所帮助。

最新更新