Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.

We've moved the forum!

Please use forum.silverstripe.org for any new questions (announcement).
The forum archive will stick around, but will be read only.

You can also use our Slack channel or StackOverflow to ask for help.
Check out our community overview for more options to contribute.

General Questions /

General questions about getting started with SilverStripe that don't fit in any of the categories above.

Moderators: martimiz, Sean, Ed, biapar, Willr, Ingo, swaiba

ModelAdmin, CMSValidator & CTF Popup


Go to End


7 Posts   1983 Views

Avatar
swaiba

Forum Moderator, 1899 Posts

8 June 2011 at 4:26am

I have a getCMSValidator returning my validator which works fine within the ModelAdmin EditForm, however once the form is opened into a CTF Popup - the validation isn't called.

can anyone give me some pointers here please?

Avatar
swaiba

Forum Moderator, 1899 Posts

29 November 2011 at 12:35am

Edited: 29/11/2011 2:47am

bump...

Although I despise core code hack - I have tried adding the follwoing within __construct and forTemplate of ComplexTableField_Popup - but no luck...

	$validator = ($this->dataObject->hasMethod('getCMSValidator')) ? $this->dataObject->getCMSValidator() : new RequiredFields();
		$validator->setJavascriptValidationHandler('none');
		$this->setValidator($validator);

Avatar
swaiba

Forum Moderator, 1899 Posts

28 December 2011 at 10:40pm

sorry to *bump* this again... but please can someone help me with this?

Avatar
smares

Community Member, 25 Posts

31 December 2011 at 3:07am

I had the problem until yesterday when I found out that the method called is getValidator and not getCMSValidator. :-/

Avatar
swaiba

Forum Moderator, 1899 Posts

1 January 2012 at 11:52pm

smares - top man!
That worked, now why didn't I try that one...

Avatar
Andre

Community Member, 146 Posts

25 April 2012 at 11:10pm

Hi there,

my Problem is a bid similar to the mentioned one here.

I have inherited from ModelAdmin and modified it a bid, to be able to use a dataobjectmanager for the Listview instead of a ComplexTableField (to be able to sort the Managed Dataobjects).

I needed some sort of Translation, where the Silverstripe Translation Decorator didn't work, so my Dataobjects are looking the following:

DO App
$db Title, Description
$has_many AppTranslations

DO AppTranslation
$db Locale, Title, Description
$has_one App

The App Collection is managed through the ModelAdmin.
I wrote a Validator for the AppTranslation, that checks, if the translation of a given locale was already set for the chosen App, to prevent from having more than one translation for each locale.

But to make it more comfortable for the administrator, I would like to manipulate the Locales Dropdown of the AppTranslation Form, to show only the Translations left.

For Example.
I have allowed a Set of 4 Languages (de, en, es, fr).
On App Item 1, there are Translations already set for de, en, so the Dropdown should only show es and fr for possible locale.

I can do this inside getCMSFields Method of AppTranslation, but how do I get the reference to the Form Object inside this method, to receive the Parent ID (AppID)?

regrads

Andre

Avatar
swaiba

Forum Moderator, 1899 Posts

25 April 2012 at 11:15pm

Sorry Andre - but I don't see how this is at all related to the above...

1) you are using DOM for some of it
2) the issue I had was asked and answerd - i.e. solved

Please can you start a new thread where something *new* needs help on and if it is to do with DOM please post there