dojo - 显示无效消息的编程方式

Chi*_*hin 7 dojo

道场新手 - 试一试.提交表单后,如果从服务器返回错误,我想在dijit.form.ValidationTextBox上显示该消息

var user_email = dijit.byId("login_user_email");
user_email.set("invalidMessage", data["result"]["user_email"]);
//need to force show the tooltip but how???
Run Code Online (Sandbox Code Playgroud)

任何帮助非常感谢.

phu*_*ick 11

jsFiddle看到它的实际效果.

  1. 只显示工具提示:

    var textBox = bijit.byId("validationTextBox");
    dijit.showTooltip(
        textBox.get("invalidMessage"), 
        textBox.domNode, 
        textBox.get("tooltipPosition"),
        !textBox.isLeftToRight()
    );
    
    Run Code Online (Sandbox Code Playgroud)
  2. 暂时切换textBox验证器,强制验证,恢复原始验证器:

    var originalValidator = textBox.validator;
    textBox.validator = function() {return false;}
    textBox.validate();  
    textBox.validator = originalValidator;
    
    Run Code Online (Sandbox Code Playgroud)

或者一次做两件事.


小智 2

您需要在验证器方法中进行验证。就像这里http://docs.dojocampus.org/dijit/form/ValidationTextBox-tricks一样 ,您还需要聚焦小部件才能显示消息!dijit.byId("随便").focus()