| Summary: | [RBD][MVC] The validator's behavior is different with different browser settings | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | z_Archived | Reporter: | fahua jin <jinfahua> | ||||||
| Component: | EDT | Assignee: | lu lu <lulu> | ||||||
| Status: | NEW --- | QA Contact: | |||||||
| Severity: | normal | ||||||||
| Priority: | P3 | CC: | chenzhh, jspadea, mayunf, svihovec | ||||||
| Version: | unspecified | ||||||||
| Target Milestone: | --- | ||||||||
| Hardware: | PC | ||||||||
| OS: | Windows XP | ||||||||
| Whiteboard: | |||||||||
| Attachments: |
|
||||||||
|
Description
fahua jin
Created attachment 206920 [details]
The sample EGL file.
(In reply to comment #0) > Build Identifier: 0.7.0.v201111130901 > > 1) Extract the attached files to the EGL source folder. > 2) Open the formWithValuesAndTwoViewError.egl with VE > 2.1) If use the IE, the aInt & aBigInt text field is not highlighted. > 2.2) If use the WebKit, the aInt & aBigInt text field is highlighted for the > validation error. > > Reproducible: Always Sorry for forgetting to mention that the 2nd step occurs in design tab. Created attachment 206924 [details]
The screen-shot.
What's happening is the underlying dojo widget hasn't been rendered yet in IE when MVC invokes setText() on the EGL dojo wrapper. The widget exists in other browsers, I'm not sure why it's different for IE.
I've assigned this to the widgets component. You can put a breakpoint in DojoTextBase.setText() and you'll see that this.dojoWidget doesn't exist, so the code that triggers validation is not run. Maybe the code that creates the dojo widget should check if there's a value to be set? e.g. at the end of createDojoWidget() do something like:
if (this.value !== undefined) {
this.dojoWidget.set("value",this.value);
}
But finding out why it's not already rendered in IE when setText() is called would be a better place to look.
Also exists in RBD,We need to discuss whether the fix should be in 0.7. After reviewing the scenario with Xiaobin, the fix is not critical for 0.7. Let's move it to feature to give us more time to analyze the root cause. Setting to future. I discussed this with Justin, and the problem appears to be that a View Level Validation function is failing in IE when the value is set on the Model before the widgets are rendered. There are a few workarounds (e.g. set the value after the page is rendered and do a publish, use a different browser, use Dojo's built in validators, etc), and this happens in RBD as well. |