zoukankan      html  css  js  c++  java
  • egg框架实现表单验证及获取验证的错误信息

    最近再看egg框架 是阿里今年开源的一款基于nodejs的mvc架构的web框架 感兴趣的同学可以看看

    因为之前一直做php的关系 在tp,yii,laravel这些框架中对于前台发送的数据,模型里都有相应的验证机制

    看了下egg官方文档 只简单提了下 并且一旦数据没通过验证 会直接抛出422的错误 egg官方也建议这么做

    但是这种直接抛错的 会影响用户的体验 我想应该提供一种获取错误消息的机制 类似tp里验证失败可以通过D('模型名')->getError()方式来获取 把错误信息分配到视图里 可以通过弹出层等方式友好显示

    const Controller = require('egg').Controller;
    const Parameter = require('parameter');
    const Check = new Parameter();
    class RegController extends Controller {
        * index(ctx) {
            const createRule = {
                LoginName: {type: 'string',required: true,allowEmpty: false,max:20,min:4}
            };        
            const errors = Check.validate(createRule, ctx.request.body);     
            console.log(errors); 
            yield ctx.render('Reg/index.html');
        }
    }
    module.exports = RegController;

    以上是我控制器里的代码

    主要利用到parameter这个包

    前提先安装 命令行切换到项目目录 执行

    cnpm install parameter --save

    验证失败时会返回以上信息

    验证成功时errors本身是undefined 只需要判断error是否是undefined时  来判断是否验证成功

     

  • 相关阅读:
    引号的区别
    QT中加载动态链接库
    QString 转换为 char *
    C++虚继承初识
    虚析构函数详解
    赋值兼容规则
    利用docker搭建spark hadoop workbench
    《用Java写一个通用的服务器程序》03 处理新socket
    《用Java写一个通用的服务器程序》02 监听器
    《用Java写一个通用的服务器程序》01 综述
  • 原文地址:https://www.cnblogs.com/adobe-lin/p/7298766.html
Copyright © 2011-2022 走看看