Dojo validation of a textarea

后端 未结 5 2045
夕颜
夕颜 2020-12-11 04:39

I\'m attempting to use dojo for the first time, so this may be be obvious.

I have a very simple form with one textarea in it that needs to be filled in.

5条回答
  •  轻奢々
    轻奢々 (楼主)
    2020-12-11 05:14

    Based on your question, I guess you are using dojo 1.6

    This is my ValidationTextarea. It uses SimpleTextArea to support 'row' and 'cols' and ValidationTextBox for validation stuff.

    The idea is similar to another answer just that in this case I don't define a templateString for the widget.

    dojo.provide('mynamespace.ValidationTextarea');
    dojo.require("dijit.form.ValidationTextBox");
    dojo.require("dijit.form.SimpleTextarea");
    
    //ValidationTextarea: Validation class that hide the displayMessage and 
    //implement the validate method used by forms
    dojo.declare("mynamespace.ValidationTextarea",[dijit.form.ValidationTextBox,dijit.form.SimpleTextarea], {
    
    //int
    // The maximum number of characters
    maxLength: 255,
    
    validate: function() {
    if (arguments.length==0)
            return this.validate(false);
    
        return this.inherited(arguments);
    },            
    
    onFocus: function() {
        if (!this.isValid()) {
            this.displayMessage(this.getErrorMessage());
        }
    },
    
    onBlur: function() {
        this.validate(false);
    },
    
    filter: function(/*String*/ value){
        // Override TextBox.filter to deal with newlines... specifically (IIRC) this is for IE which writes newlines
        // as \r\n instead of just \n
        if(value){
            value = value.replace(/\r/g,"");
        }
        return this.inherited(arguments);
    },
    
    displayMessage: function(/*String*/ message) { 
    
    }
    
    }); 
    

提交回复
热议问题