Opened 15 years ago
Closed 13 years ago
#5996 closed Bug (fixed)
CKEDITOR.dialog.validate.functions is buggy.
Reported by: | anrikun | Owned by: | |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | UI : Dialogs | Version: | 3.3.1 |
Keywords: | Cc: |
Description
I am pretty sure this method has never been tested as it absolutely does not work: it always returns true. So are CKEDITOR.dialog.validate.equals and CKEDITOR.dialog.validate.notEqual that rely on it.
Change History (4)
comment:1 Changed 15 years ago by
Version: | → 3.3.1 |
---|
comment:2 Changed 15 years ago by
Status: | new → pending |
---|
comment:3 Changed 15 years ago by
CKEDITOR.dialog.validate is declared inside the dialog plugin plugin.js Its notEmpty method is the most used one, to check whether a required field has been filled in or not. E.g.
var validator = CKEDITOR.dialog.validate.notEmpty('You must fill myField!'); var isValid = validator.apply(myField);
CKEDITOR.dialog.validate another method, functions that is supposed to allow to create custom validators. The problem is that however you use it, it will always return true, thus validating nothing. E.g.
var validator = CKEDITOR.dialog.validate.functions(function() { return false; }, 'this message should always been displayed but it will never be :-('); var isValid = validator.apply(myField);
isValid will always get true although it should always get false!
This bug occurs because the arguments received by functions are not passed to the function this method returns. In the example above, function() {return false;} is the argument, and it will simply be ignored!
comment:4 Changed 13 years ago by
Resolution: | → fixed |
---|---|
Status: | pending → closed |
I have implemented your example in latest CKEditor 3.6.1 and the problem seems to be fixed. Message was always displayed.
Can you expand a bit more? Maybe attach a sample page to reproduce the issue?