Píosaí liom in áiteanna eile:

2021-04-22

Tá d'ainm neamhbhailí...

Tarlaíonn sé go raibh mé féin ag ceannach roinnt earraí ó Dunnes Stores ar líne ar na mallaibh agus gur theip ar an bhfoirm glacadh le m'ainm. "This value seems to be invalid" Bhí na hearraí de dhíth orm, mar sin ghéill mé an fada - agus chuir r-phost clamhsáin chuig Dunnes. Gheall siad go mbeadh siad á leasú.

Inniu chroch Séaġan Ó Súilleaḃáin pictiúr den teachtaireacht maslach céanna.

Is annamh ar na saolta seo, agus go háirithe ar suíomhanna idirlíon go scríobhtar cód as an nua. Bíonn rudaí comónta le déanamh, agus ní fiú an roth a athchumadh - is fearr go mór leabharlann a úsáid.

Phrioc an fiosracht mé maidir leis an teachtaireacht úd - cuma air gur an teachtaireacht caighdeánach atá ann a úsáideann leabharlann nuair nach bhfuil teachtaireacht ar leith cumtha ag an ríomhchláraitheoir. Toradh mo chuid gúglála - tá Parsley.js in úsáid ar suíomh Dunnes.  

Chuaigh mé céim níos faide, agus d'amharc mé ar foinse an leathanaigh:

An riail atá i bhfeidhm d'ainm dílis ná:

     <input id="firstName" name="firstName" class="form-control " minlength="2" data-test="customer-first-name" data-parsley-pattern="^[a-zA-Z]+(([&#39;,. -])?[a-zA-Z])*$" data-parsley-required-message="Please enter your first name" aria-required="true" required="true" type="text" value="" maxlength="20"/> 

agus do sloinne:

<input id="lastName" name="surname" class="form-control " minlength="2" data-test="customer-last-name" data-parsley-pattern="^[a-zA-Z]+(([&#39;,. -])?[a-zA-Z])*$" data-parsley-required-message="Please enter your last name" aria-required="true" required="true" type="text" value="" maxlength="20"/> 

 Is léir mar sin go ndearna duine éigin é seo a chuir in oiriúint do sloinnte gallda Éireannacha - seasann an &#39; úd don uaschamóg a chuirtear in áit an síneadh fada nuair is sloinne Ó atá i gceist. 

Is ait liom go bhfuil uaschamóg ceadaithe in ainm dílis - ach is dócha gur gearradh agus greamú is cúis leis sin.

Le bheith "bhailí" mar sin, is gá don ainm agus sloinne a bheith níos lú na 20 carachtar, agus cloí leis an riail.

  1. Tusa le ceannlitir nó litir cás íochtar idir A agus Z, agus litreacha eile idir a-z ina dhiadh  ^[a-zA-Z]+ 
  2. (([&#39;,. -])?[a-zA-Z])*$
    1. Cruthaíonn na lúibíní grúpa - agus ciallaíonn an * "náid nó níos mó uaireanta
    2. Ciallaíonn an $ deireadh an teaghráin 
    3. Tá grúpa eile laistigh de na lúibíní a chuimsíonn uaschamóg, camóg, ponc, spás agus fleiscín. Ciallaíonn na lúibíní cearnacha gur réimse atá i gceist. Mar sin, ceann amháin as na carachtar idir na lúibíní cearnacha. Tá comhartha ceiste laistiar den ghrúpa, rud a chiallaíonn "ceann ar bith nó ceann amháin díreach"
    4. Riail 1 arís.

Rinne mé seo a phromhadh ar https://regex101.com/ mar nach bhfuil rialacha javascript ag teacht baileach leis na rialacha a bhfuil taithí agam orthu.Is cosúil mar sin gur ceann amháin as an liosta atá ceadaithe, agus litreacha thairis sin.

Is riail sách cúng é sin, agus beidh neart daoine ag fáil an teachtaireacht úd go bhfuil a n-ainm neamh bhailí. Tá an fhadhb seo aitheanta le blianta sa ghairm agus pléite, mar shampla anseo

Rinne mé roinnt gúglála, agus an riail atá de dhíth orthu ná:

^[\p{L}'][ \p{L}'-]*[\p{L}]$

Ciallaíonn \p{L} aon carachtar Unicode. Glacann an riail thuas le Ó hAlmhain agus O'Duffy araon, mar shampla. 

Ach an chéad rud ba cheart dóibh a dhéanamh ná fáil réidh leis an "invalid" úd, agus teachtaireacht béasach a chuir ina áit. 

Tá na seifteanna ann, ach teacht orthu...