Form error handling for dietjs

Demand module

Form error handling for dietjs

  • You can demand request.body[..] values to match criterias like existence, length etc..
  • The module is accessible in every POST request
  • The module can be accessed with the request.demand function
  • The module accepts unlimited agruments, each argument by right goes deeper in request.body
  • If request.passed is true than the form request has passed
  • If request.passed is false then request.errors contains the errors in JSON
  • You can answer if
    • request.passed with response.success(data)
    • else with response.error(data)
    • data is optional

When a POST request comes in (from a form or ajax request) with these parameters:

        'remain_logged_in': true

You can check if everything is ok with the submitted data with request.check:

var app = new Application(options);
app.get('/login', function(requestresponsemysql){
    // DEMAND values to be specific 
    request.demand('options', 'remain_logged_in').isBoolean().length(0,1);
    // IF request has passed  
        response.success(); // { passed: true, errors: false} 
    } else {
        response.error(); // { passed: true, errors: [{..},{..}]} 
FunctionConditionExampleUse Case
issetdefinedundefined vs hell worldrequest.demand('message').isset()
isBooleanbooleantrue or falserequest.demand('agree').isBoolean()
isTextalphaA simple textrequest.demand('username').isText()
isStringstring52 people likes you today!request.demand('message').isString()
lengthrangehello is 4request.demand('tweet').length(0, 140)
equalscomparisoncomparing value a with brequest.demand('agree').equals('true')
  • request.error(field, message) - both attributes are required
  • response.success(data)
    • the default response value is { passed: true, errors: false}
    • data is appended to the default json response but it's optional
  • response.error(data)
    • the default response value is { passed: false, errors: [...]}
    • data is appended to the default json response but it's optional
    • errors contain a list of erros with
  • added: request.error(field, message)
  • added: response.success(data)
  • added: response.error(data)
  • added Echo to arguments for multi language isset demading
  • Several Bug Fixes
  • First Release