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

     

  • 相关阅读:
    Community Server(CS)是一个非常优秀的Asp.net开源软件
    乐在其中设计模式(C#)
    VSTO+WinForm+WebService+WCF+WPF示例
    系出名门 Android 系列文章索引
    DataTable 和List 相互转换
    C#异步TCP通讯类库FlyTcpFramework
    WCF+BizTalk开发系列
    精通MVC 3 框架
    我对架构的理解
    DataTable转换成IList
  • 原文地址:https://www.cnblogs.com/adobe-lin/p/7298766.html
Copyright © 2011-2022 走看看