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時  來判斷是否驗證成功

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM