[Gelöst] Feld auf mehrere Werte prüfen

Bild Microsoft Dynamics CRM 4.xx

[Gelöst] Feld auf mehrere Werte prüfen

Beitragvon peda » 22. September 2010 16:33

Hallo Forum,

folgendes ist an mich herangetragen worden:
Wir haben ein benutzerdefiniertes Attribut, das den Akadem. Titel eines Kontaktes beinhaltet. Und die Person, die das Feld anno dazumal angelegt hat, dachte nicht mit, und nun ist es ein Textfeld statt einer Dropdownbox.
Nachdem ja jeder die Titel anders schreibt, mal abgekürzt, mal ausgeschrieben... die Kollegen aus den CEE Staaten wieder eigene Bezeichnungen und eigene Schreibweisen benutzen, ist halt nix einheitlich. Um den Wildwuchs einzudämmen, möchte ich bei verlassen des Feldes eine Prüfung anschubsen, die z.B. auf folgendes Prüft:

Prof.
Prof. Mag.
Prof. MMag.
Prof. Mag. Dr.
Prof. MMag. Dr.
Prof. Mag. DDr.
Prof. MMag. DDr.

Wenn der eingegebene Wert dem nicht entspricht, dann soll ein Alert erscheinen, in dem die möglichen Ausprägungen ersichtlich sind.

Meine Scriptkenntnisse sind nicht soo toll :-( - ich bekomme nur eine Prüfung auf einen bestimmten Wert hin. Wie kann ich auf ein ganzes Set von möglichen Werten prüfen?

Währe toll, wenn mir da auf den richtigen Weg geholfen würde ;-)

Danke schon mal vorab!

lg

Peter
Zuletzt geändert von peda am 23. September 2010 11:19, insgesamt 1-mal geändert.
peda
 
Beiträge: 42
Registriert: 7. Mai 2010 13:45
Realer Name: Peter
Arbeitsort: Wien
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics CRM
Microsoft Dynamics Version: 4

Re: Feld auf mehrere Werte prĂĽfen

Beitragvon Michael Sulz » 22. September 2010 16:38

Hallo Peter,

in diesem Fall lautet das Zauberwort Regular Expressions. Mit diesen kannst du deine Anforderung sehr gut umsetzen.
Siehe z.B.:
viewtopic.php?f=56&t=9562&p=47066&hilit=expression#p47066
http://www.mohamedibrahim.net/blog/2010 ... -40-field/
GruĂź, Michael Sulz
Mein Blog
Xing LinkedIn Facebook Twitter

Frage beantwortet? Schreibe bitte [Gelöst] vor den Titel des ersten Beitrags.
Bitte erst suchen, dann fragen. Bitte beachte den kleinen Community-Knigge.
Kein Support per PN, Mail, IM oder Telefon! DafĂĽr ist dieses Forum da.

Wie man Fragen richtig stellt
Benutzeravatar
Michael Sulz
Microsoft Partner
Microsoft Partner
 
Beiträge: 4939
Registriert: 9. September 2009 17:41
Wohnort: MĂĽnster
Realer Name: Michael Sulz
Arbeitsort: MĂĽnster
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics CRM

Re: Feld auf mehrere Werte prĂĽfen

Beitragvon peda » 22. September 2010 16:52

Servus Michael,

Danke fĂĽr die superschnelle RĂĽckmeldung!

Mein erster Gedanke ging auch in diese Richtung, denn bei den Telefonnummern haben wir das auch mit RegExp fĂĽr das Kanonische Format realisiert. Hier ging es leichter, da an bestimmter Stelle Leerzeichen oder die Klammern erwartet werden.

Wenn aber erwĂĽnscht ist, dass in dem Feld "Prof. MMag. Dr." stehen soll, kann der User immerhin noch "Prof. Mmag. Dr." eingeben.
Ich dachte da eher an ein Array, aber damit habe ich bisher noch nix am Hut gehabt.
Auf meiner Suche habe ich bisher nur so Sachen gefunden, wie das füllen von Arrays von div. Feldern im Formular... Ich möchte "nur" ein Feld mit bestimmten Werten vergleichen.
peda
 
Beiträge: 42
Registriert: 7. Mai 2010 13:45
Realer Name: Peter
Arbeitsort: Wien
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics CRM
Microsoft Dynamics Version: 4

Re: Feld auf mehrere Werte prĂĽfen

Beitragvon peda » 23. September 2010 11:19

Hallo,

ich hab einen Weg gefunden, der das macht, was ich möchte:

Code: Alles auswählen
if(crmForm.all.custom_titel.DataValue != null)
{
Array.prototype.exists = function(o) {
for(var i = 0; i < this.length; i++)
   if(this[i] === o)
     return true;
return false;
}

var Titel = ["Prof.","Prof. Mag.","Prof. MMag.","Prof. Mag. Dr.","Prof. MMag. Dr.","Prof. Mag. DDr.","Prof. MMag. DDr.","Prof. Dr.","Prof. DDr.","Mag.","MMag.","Mag. Dr.","MMag. Dr.","Mag. DDr.","MMag. DDr.","Dr.","DDr.","Mgr.","Ing."];

o=crmForm.all.custom_titel.DataValue ;
if(Titel.exists(o)!=true)
{
alert("Es dĂĽrfen nur folgende Titel eingegeben werden:\n\n Prof.\n Prof. Mag.\n Prof. MMag.\n Prof. Mag. Dr.\n Prof. MMag. Dr.\n Prof. Mag. DDr.\n Prof. MMag. DDr.\n Prof. Dr.\n Prof. DDr.\n Mag.\n MMag.\n Mag. Dr.\n MMag. Dr.\n Mag. DDr.\n MMag. DDr.\n Dr.\n DDr.\n Mgr.\n Ing.");
}
   
var oField = crmForm.all.customq_titel;
oField.onblur = function() { oField.SetFocus(); oField.onblur = null; }
oField.SetFocus();
}


Dies ist im OnChange des Attributes eingetragen.

Vielleicht hilft das dem einen oder anderem ;-)

Peter
peda
 
Beiträge: 42
Registriert: 7. Mai 2010 13:45
Realer Name: Peter
Arbeitsort: Wien
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics CRM
Microsoft Dynamics Version: 4


ZurĂĽck zu CRM 4.xx

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast