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时  来判断是否验证成功

     

  • 相关阅读:
    个人破解汇总
    JavaScript学习中的挑战
    18个黑白配色网页设计
    正则表达式常用用法汇总 __西科大C语言
    JS正则表达式大全(整理详细且实用)
    印象最深的三个老师
    pbzip2
    集群接口机存储监控
    vue...扩展符报错
    框架mpvue创建一个小程序
  • 原文地址:https://www.cnblogs.com/adobe-lin/p/7298766.html
Copyright © 2011-2022 走看看