Feature Language Change Updates Requested RMDQ PR-5.1-dev Pending

User tests: Successful: Unsuccessful:

avatar Hackwar
Hackwar
28 Feb 2024

Summary of Changes

This PR adds serverside validation to the text custom field. It doesn't add it to any other field since the text field is the only one where this makes sense. You get the validation rules which are part of the libraries folder together with conditional fields available to configure them where usefull. In addition, a input is added to customize the error message when the validation failed.

Testing Instructions

Create a custom field of type text and play around with the validation option which this adds. Test inputs in the frontend.

Thanks

A big thanks goes to @coolcat-creations (Website) who sponsored this PR.

Link to documentations

Documentation is going to be provided soon.
Please select:

avatar Hackwar Hackwar - open - 28 Feb 2024
avatar Hackwar Hackwar - change - 28 Feb 2024
Status New Pending
avatar joomla-cms-bot joomla-cms-bot - change - 28 Feb 2024
Category Administration Language & Strings Front End Plugins
avatar Quy
Quy - comment - 28 Feb 2024

Close #13403?

avatar Hackwar
Hackwar - comment - 28 Feb 2024

While this PR goes into that direction, I don't think that that is solving #13403. So no, not closing that one.

avatar brianteeman
brianteeman - comment - 28 Feb 2024

In addition, a input is added to customize the error message when the validation failed.

This appears to be when ANY validation fails and not when a specific field's validation fails?

avatar Hackwar
Hackwar - comment - 28 Feb 2024

In addition, a input is added to customize the error message when the validation failed.

This appears to be when ANY validation fails and not when a specific field's validation fails?

No, the message is displayed only if this specific field fails to validate.

avatar brianteeman
brianteeman - comment - 28 Feb 2024

My comment was because I saw the following settings

image

So I assumed that you could set the message in the plugin itself. But you can not.

avatar brianteeman
brianteeman - comment - 28 Feb 2024

When you have a required field then a failed validation results in an error as shown below

image

I would expect that when you have a failed vaildation rule you would have a similar error but you dont

image

avatar brianteeman
brianteeman - comment - 28 Feb 2024

I deleted the last weird behaviour post as there was an error in my recording

avatar Hackwar
Hackwar - comment - 28 Feb 2024

Yes, you can argue that a required field and a field which failed validation should both throw a similar style error. However that is not in the scope of this PR. The behavior you are describing is the general behavior of Joomla and would have to be changed in another PR.

Regarding the overriding of plugin settings: Right now this PR is a draft for a reason. ?

avatar brianteeman
brianteeman - comment - 28 Feb 2024

The behavior you are describing is the general behavior of Joomla and would have to be changed in another PR.

well that amongst all the other issues makes it a big fail for me and definitely not something for core with this approach

avatar Hackwar Hackwar - change - 28 Feb 2024
The description was changed
avatar Hackwar Hackwar - edited - 28 Feb 2024
avatar Hackwar
Hackwar - comment - 28 Feb 2024

That however has nothing to do with this PR and is a standard behavior of Joomla so far. Be my guest to change that, but right now this is how field validation works in our core library.

avatar Hackwar Hackwar - change - 28 Feb 2024
Labels Added: Feature Language Change PR-5.1-dev
avatar brianteeman
brianteeman - comment - 28 Feb 2024

Please follow the style guide for the language strings https://manual.joomla.org/docs/next/user-interface-text/capitalisation

avatar Hackwar
Hackwar - comment - 29 Feb 2024

Did I miss anything else regarding capitalisation?

avatar brianteeman
brianteeman - comment - 29 Feb 2024

That however has nothing to do with this PR and is a standard behavior of Joomla so far. Be my guest to change that, but right now this is how field validation works in our core library.

You are quite correct. I hadn't noticed this before as it is never used (as far as I can see) in core at the moment. The non-highlighting of the invalid fields is however an accessibility fail.

avatar coolcat-creations
coolcat-creations - comment - 29 Feb 2024

That however has nothing to do with this PR and is a standard behavior of Joomla so far. Be my guest to change that, but right now this is how field validation works in our core library.

You are quite correct. I hadn't noticed this before as it is never used (as far as I can see) in core at the moment. The non-highlighting of the invalid fields is however an accessibility fail.

Actually, that's what my report back then was about: #13403 :-)

avatar brianteeman
brianteeman - comment - 29 Feb 2024

And this PR just makes that situation worse and not better

avatar coolcat-creations
coolcat-creations - comment - 29 Feb 2024

no, its about to solve it

avatar bembelimen
bembelimen - comment - 4 Mar 2024

Hey @Hackwar I see what you try to solve here and thanks for the contribution.

Nevertheless, we should not encourage people to use text fields for everything, for URL + Tel we have the URL field, for email we should create an email custom field etc. Text should not be the jack of all trades device.

Plus all the issues Brian reported.

Conceptwise this PR needs a lot of improvement to be considered as mergeable in my opinion.

(PS: Clientside validaton would be a really nice to have, too as HTML offers this anyways)

avatar Hackwar
Hackwar - comment - 4 Mar 2024

All issues Brian has reported have either been fixed or are unrelated to this PR. Of course we can discuss if a validation error should throw a notice or an error and I'm all for an error here, but that is not the scope of this PR.

Regarding the selection of validation rules, I can definitely remove some of those again. Yes, the text field is not meant to cover everything. So I would remove email, tel and url again?

Client-side validation is also a nice-to-have, but again outside of the scope of this PR. It is something that would require a change to the Form package and not an additional field in the custom field system.

avatar brianteeman
brianteeman - comment - 4 Mar 2024

If we're going to add something then it should be done holistically and not introduce/expose issues that are left to be solved elsewhere (if ever). We have a terrible habit of merging code that is knowingly incomplete. If we are serious about accessibility then we should never merge code that is knowingly introducing accessibility issues. Accessibility is always in scope.

PS I am all in favour of form validation but it must be done right

avatar Hackwar Hackwar - change - 4 Mar 2024
Labels Added: Updates Requested RMDQ
avatar Hackwar
Hackwar - comment - 4 Mar 2024

I removed the controversial validation rules again.

avatar brianteeman
brianteeman - comment - 4 Mar 2024

Conceptwise this PR needs a lot of improvement to be considered as mergeable in my opinion.

but no changes to the conceptual approach?

avatar Hackwar
Hackwar - comment - 5 Mar 2024

#42959 changes the validation everywhere from throwing a warning to throwing an error on the server side.

I don't know how we could highlight the fields after the serverside validation.

avatar coolcat-creations
coolcat-creations - comment - 5 Mar 2024

I would say that the server validation should be always combined with the client-side?! so the field highlight is done by client-side anyway. Without client side validation, this does not make sense.

avatar Hackwar
Hackwar - comment - 5 Mar 2024

The problem is, that right now we get error messages about failed validations, but not the names of the actual fields after the server side validation. We would have to extend the errors by that field name and then somehow render that in the frontend.

avatar bembelimen
bembelimen - comment - 14 Mar 2024

Why do you need to validate on the server to comunicate to the user, when you can first validate client-side and then after submission valide server-side?

I mean, we have the "pattern" attribute für html input elements which we could use as client-side validation and the field is then marked red.

What it needs then are some improvement on the server-side validation, which should be aligned with the html5 pattern.

then we have both with little effort.

avatar brianteeman
brianteeman - comment - 14 Mar 2024

finaly someone gets it!!

avatar HLeithner
HLeithner - comment - 24 Apr 2024

This pull request has been automatically rebased to 5.2-dev.

avatar HLeithner HLeithner - change - 24 Apr 2024
Title
[5.1] Fields: Add validations to text custom field
[5.2] Fields: Add validations to text custom field
avatar HLeithner HLeithner - edited - 24 Apr 2024
avatar crimle crimle - test_item - 15 Jul 2024 - Tested successfully
avatar crimle
crimle - comment - 15 Jul 2024

I have tested this item ✅ successfully on e58469c


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/42911.

avatar brianteeman
brianteeman - comment - 15 Jul 2024

@crimle you have marked that you have successfully tested this. How? What where the regex you used? What were the comparisons you used

avatar crimle
crimle - comment - 16 Jul 2024

@crimle you have marked that you have successfully tested this. How? What where the regex you used? What were the comparisons you used

I successfully tested the existence of the added dropdown «Validate» and the option «Maximum lenght». Both are ok.

I did NOT test the «Regular Expression» option since I am not familiar with regular expressions. I retested this morning and had an eye on the options «Not Equal to field» and «Equal to field». They seem to have no effect. Ashes on my head, - I was not conscientious enough yesterday. Sorry!

avatar HLeithner
HLeithner - comment - 2 Sep 2024

This pull request has been automatically rebased to 5.3-dev.

avatar HLeithner HLeithner - change - 2 Sep 2024
Title
[5.2] Fields: Add validations to text custom field
[5.3] Fields: Add validations to text custom field
avatar HLeithner HLeithner - edited - 2 Sep 2024
avatar fgsw
fgsw - comment - 5 Sep 2024

@crimle can you open https://issues.joomla.org/tracker/joomla-cms/42911 and

  • click button "Test this"
  • mark "Not tested"

The test will not longer count as successfull.

avatar crimle crimle - test_item - 5 Sep 2024 - Not tested
avatar crimle
crimle - comment - 5 Sep 2024

I have not tested this item.


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/42911.

Add a Comment

Login with GitHub to post a comment