3 Nov
duccio

duccio il 3 November 2008 parla di Rails Snippet

Controllare la validità del Codice Fiscale

DotNetHell mette a disposizione 2 utili webservice per controllare la validità di un codice fiscale oppure per calcolarlo passando i parametri necessari:

  • Nome
  • Cognome
  • Data di Nascita (gg/mm/aaaa)
  • Comune di nascita
  • Sesso (M o F)

Se volete calcolare il codice fiscale potete fare così con una semplice richiesta in GET:

    1 require 'open-uri'
    2 codfisc = open("http://webservices.dotnethell.it/codicefiscale.asmx/CalcolaCodiceFiscale?Nome=#{@user.firstname}&Cognome=#{@user.lastname}&ComuneNascita=#{@user.city_of_birth}&DataNascita=#{@user.birthdate}&Sesso=#{@user.sex}").read
    3 codfisc = codfisc.match(/<string xmlns=\"http:\/\/webservices.dotnethell.it\/CodiceFiscale\">(.*)<\/string>/)[1].to_s

Se invece volete controllare la validità di un Codice fiscale senza necessariamente conoscere i dati della persona a cui corrisponde:

    1 validates_each :codice_fiscale, :if => :validate_codfisc_field? do |record, attr, value|
    2     begin
    3       page = open("http://webservices.dotnethell.it/codicefiscale.asmx/ControllaCodiceFiscale?CodiceFiscale=#{value}").read
    4       if page.match(/^Il codice non è valido!$/)
    5         record.errors.add(attr, 'non valido')
    6       end
    7     rescue Exception => e
    8       record.errors.add(attr, 'non valido')
    9     end
   10 end
   11 
   12 def validate_codfisc_field?
   13   @validate_codfisc_field
   14 end

Il controllo avviene direttamente come validazione sul modello dell’attributo :codice_fiscale, :if => :validate_codfisc_field? serve per attivare o meno la validazione del campo, poichè spesso, specialmente in un e-commerce, i dati vengono inseriti e modificati in momenti e zone diverse!

Se volete potete fare il tutto anche in SOAP dato che sia il calcolo del codice Fiscale che il controllo del codice fiscale supportano il SOAP 1.1 e 1.2.

Scrivi un commento