Welcome Guest, Not a member yet? Register   Sign In
Validation Rules and non-primitive Form Fields
#1

[eluser]Unknown[/eluser]
I am developing this application where there will a handful fields on the form that needs to be dynamically generated, some thing like these:
...
URL 1 Text: <input type="text" name="data[url][text][]">
URL 1 Link: <input type="text" name="data[url][link][]">

URL 2 Text: <input type="text" name="data[url][text][]">
URL 2 Link: <input type="text" name="data[url][link][]">

URL 3 Text: <input type="text" name="data[url][text][]">
URL 3 Link: <input type="text" name="data[url][link][]">

URL 4 Text: <input type="text" name="data[url][text][]">
URL 4 Link: <input type="text" name="data[url][link][]">

URL 5 Text: <input type="text" name="data[url][text][]">
URL 5 Link: <input type="text" name="data[url][link][]">
...

Those are dynamically generated DOM elements by Javascript as the number of URL links are indefinite. However, it doesn't see that CodeIgniter is capable of handling non-primitive type fields, as the Validation::run() cannot handle multi-dimention array when it parse through the validation rules.

A quick and dirty work-around I could come up is to use flat-out field names:
like
URL 1 Text: <input type="text" name="data_url_text_1">
URL 1 Link: <input type="text" name="data_url_url_1">

URL 2 Text: <input type="text" name="data_url_text_2">
URL 2 Link: <input type="text" name="data_url_url_2">

URL 3 Text: <input type="text" name="data_url_text_3">
URL 3 Link: <input type="text" name="data_url_url_3">

URL 4 Text: <input type="text" name="data_url_text_4">
URL 4 Link: <input type="text" name="data_url_url_4">

URL 5 Text: <input type="text" name="data_url_text_5">
URL 5 Link: <input type="text" name="data_url_url_5">

But that's very tiresome and error-prone. So is there anybody have any other thoughts to work around this issue?

Thanks!




Theme © iAndrew 2016 - Forum software by © MyBB