52 lines
1.1 KiB
JavaScript
52 lines
1.1 KiB
JavaScript
/*
|
|
* override-validation.js: Example of using prompt with complex properties and command-line input.
|
|
*
|
|
* (C) 2010, Nodejitsu Inc.
|
|
*
|
|
*/
|
|
|
|
var prompt = require('../lib/prompt'),
|
|
optimist = require('optimist');
|
|
|
|
var schema = {
|
|
properties: {
|
|
name: {
|
|
pattern: /^[a-zA-Z\s-]+$/,
|
|
message: 'Name must be only letters, spaces, or dashes',
|
|
required: true
|
|
},
|
|
email: {
|
|
name: 'email',
|
|
format: 'email',
|
|
message: 'Must be a valid email address'
|
|
}
|
|
}
|
|
};
|
|
|
|
//
|
|
// Set the overrides
|
|
//
|
|
prompt.override = optimist.argv
|
|
|
|
//
|
|
// Start the prompt
|
|
//
|
|
prompt.start();
|
|
|
|
//
|
|
// Get two properties from the user: email, password
|
|
//
|
|
prompt.get(schema, function (err, result) {
|
|
//
|
|
// Log the results.
|
|
//
|
|
console.log('Command-line input received:');
|
|
console.log(' name: ' + result.name);
|
|
console.log(' email: ' + result.email);
|
|
});
|
|
|
|
// try running
|
|
// $ node ./override-validation.js --name USER --email EMAIL
|
|
// You will only be asked for email becasue it's invalid
|
|
// $ node ./override-validation.js --name h$acker --email me@example.com
|
|
// You will only be asked for email becasue it's invalid
|