public function testJaRule() { $word = new Word(); // required $word->en = ''; $word->ja = ''; $this->assertFalse($word->validate(['ja'])); $word->ja = 'あ'; $this->assertTrue($word->validate(['ja'])); // trim $word->ja = ' あ '; $word->validate(['ja']); $this->assertSame('あ', $word->ja); // string: max $word->ja = str_repeat('あ', 51); $this->assertFalse($word->validate(['ja'])); $word->ja = str_repeat('あ', 50); $this->assertTrue($word->validate(['ja'])); }
public static function create(array $args = array()) { $v = new Word(); if ($v->validate($args)) { $w = new Word(); $word = preg_replace("[^a-zA-Z]", "", $args['word']); $w->word = $word; $w->length = strlen($args['word']); $w->user_id = $args['user_id']; $w->timestamp_utc = time(); $w->save(); for ($i = 0; $i < strlen($word); $i++) { $l = new Letter(); $l->letter = substr($word, $i, 1); $l->word_id = $w->id; $l->ordinal = $i + 1; $l->save(); } return $w; } else { return array('errors' => $v->errors); } }