Validating date fields in a plugin's settings
It turns out that because I'm now using my own settings model, I don't need to use AttributeType::Mixed for my date fields any more. (Thanks to carlcs for suggesting this.)

So I've removed the stuff I had in my Plugin's getSettingsHtml(), which massaged the fields before sending them to the template. And now, in theory, I only need to do this:

&lt;?php
namespace Craft;

class My_SettingsModel extends BaseModel
{
    protected function defineAttributes()
    {
        return array(
            'myText' =&gt; array(AttributeType::String,
                            'column' =&gt; ColumnType::Text, 'required' =&gt; true),
            'myDate' =&gt; array(AttributeType::DateTime,
                            'column' =&gt; ColumnType::DateTime),
        );
    }

    public function rules()
    {
        $rules = parent::rules();

        $rules[] = array('myDate', 'date',
                        'format' =&gt; array('dd/MM/yyyy'),
                        'allowEmpty' =&gt; false,
                        'message' =&gt; 'Please enter a valid date');

        return $rules;
    }
 }


However, although the form requires me to enter dates - it doesn't accept empty fields - it won't accept the dates I'm typing in. e.g., if I enter 31/12/2016 it fails the date validation. Looking at Yii's date validation docs I think this should work...