-
-
Notifications
You must be signed in to change notification settings - Fork 23
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add custom validation rule support #4
Comments
Has any progress been made on this? Is there a structure that is being proposed? Quick suggestion would be something in the plugin config that dynamically adds properties to the current validator object, to provide the same api approach with custom validators as built-in ones. Alternatively, a validators.custom property, that we then extend, if it's preferred to have some kind of division? I assume the custom validators would need to be configured in the DI somehow, as for example the api lookup type validator mentioned in #29 would need httpClient injected in. |
No progress on this one yet PR welcome. Under the covers the ValidationRule class should probably just have a static method for adding the custom rule that works just like the current rule methods work. |
@PWKad - I ended up hacking this together for myself today but I'm not sure I took the right approach. validate.async returns a promise, whereas aurelia-validatejs seems to strongly assume the opposite. I ended up converting all validate return values into promises, then using Promise.all() to wait on them all at once before returning to the original caller. I also publish each error into the reporter when Promise.all() resolves. I also had to patch validate.js's async so that it doesn't reject if an async function returns an error. That was stopping me from handling it later on with Promise.all(). |
👍 I'd like to provide a custom validator with my plugin :) @PWKad I'm fine with working on this. I need some pointers though, how can this be done? |
implemented! |
https://validatejs.org/#custom-validator
Add decorator / fluent API to cover.
The text was updated successfully, but these errors were encountered: