dijit.form.ValidationTextBox

http://stackoverflow.com/questions/7383609/dojo-programmatic-way-to-show-invalid-message

by schlomm

HTML

<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/dojo/1.5/dijit/themes/claro/claro.css">
<body class="claro">
    <button id="tooltipBtn" data-dojo-type="dijit.form.Button">Show Tooltip</button>
    <button id="validatorBtn" data-dojo-type="dijit.form.Button">Alter Validator</button>
    <input
        data-dojo-type="dijit.form.ValidationTextBox"
        data-dojo-props="
            regExp: '.{0,10}',
            required: true,
            invalidMessage: 'Max. 10 characters.',
            value:'value'
        "
        id="validationTextBox"
    />
</body>

JavaScript

dojo.require("dijit.form.Button");
dojo.require("dijit.form.ValidationTextBox");
dojo.require("dijit.Tooltip");

dojo.ready(function() {

    var textBox = dijit.byId("validationTextBox");
    
    dojo.connect(dijit.byId("tooltipBtn"), "onClick", function() {
                      
        dijit.showTooltip(
            textBox.get('invalidMessage'), 
            textBox.domNode, 
            textBox.get('tooltipPosition'),
            !textBox.isLeftToRight()
        );        
    });
    
    dojo.connect(dijit.byId("validatorBtn"), "onClick", function() {
        var originalValidator = textBox.validator;
        textBox.validator = function() {return false;}
        textBox.validate();  
        textBox.validator = originalValidator;
    });
    
});