summaryrefslogtreecommitdiff
path: root/node_modules/prompt/examples/override-validation.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/prompt/examples/override-validation.js')
-rw-r--r--node_modules/prompt/examples/override-validation.js52
1 files changed, 52 insertions, 0 deletions
diff --git a/node_modules/prompt/examples/override-validation.js b/node_modules/prompt/examples/override-validation.js
new file mode 100644
index 0000000..0ca9ddd
--- /dev/null
+++ b/node_modules/prompt/examples/override-validation.js
@@ -0,0 +1,52 @@
+/*
+ * 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 because it's invalid
+// $ node ./override-validation.js --name h$acker --email me@example.com
+// You will only be asked for name becasue it's invalid