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.

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   1607 Views


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?


Forum Moderator, 1899 Posts

29 November 2011 at 12:35am

Edited: 29/11/2011 2:47am


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();


Forum Moderator, 1899 Posts

28 December 2011 at 10:40pm

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


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. :-/


Forum Moderator, 1899 Posts

1 January 2012 at 11:52pm

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


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)?




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