並び順

ブックマーク数

期間指定

  • から
  • まで

281 - 320 件 / 891件

新着順 人気順

バリデーションの検索結果281 - 320 件 / 891件

  • React Hook Formでバリデーションを実装する - Rio Blog

    Yupのようなバリデーションライブラリを使わずとも、React Hook Form (RHF)で基本的なバリデーションは可能ですので、その方法を解説します。なお、UIライブラリとして、MUIを使っています。 シンプルなバリデーション まずはログインや会員登録を想定したフォームを作成し、そこにバリデーションを実装していきます。 なお、RHFやMUIのインストールは、こちらの記事を参照してください。 rio-log.hatenablog.jp コード全体はこんな感じです。 <App.tsx> import { useForm } from 'react-hook-form' import { Button, Checkbox, Container, FormControlLabel, FormGroup, FormHelperText, Stack, TextField } from '@mu

      React Hook Formでバリデーションを実装する - Rio Blog
    • 【バグ?】safariの罠 input type="file" required でバリデーションエラーが画面外で発生した場合、フォーカスだけ当たってスクロールしない - Qiita

      【バグ?】safariの罠 input type="file" required でバリデーションエラーが画面外で発生した場合、フォーカスだけ当たってスクロールしないJavaScriptSafariバグファイルアップロード まだまだあったよこんなバグ 先日、こちらの記事を書いたが、 これのデバッグをしている際に、iOS safariだけに起こるバグを見つけてしまった。 というか、見つけてもらった。 それがこれ ※Mac safariは持っていないので未検証 なにこれ・・・? Edge、Firefox、Android Chromeではもちろんこんなの発生しない。 (Android Firefoxはそもそもsubmitのバリデーションエラーではフォーカスすらしてくれない) もうどうしようもないので、Javascriptで強引に解決した。 押さえておく前提条件 バリデーションエラーでfocusは

        【バグ?】safariの罠 input type="file" required でバリデーションエラーが画面外で発生した場合、フォーカスだけ当たってスクロールしない - Qiita
      • ハッシュタグの書き方を統一させるためにバリデーション組んでみた - Qiita

        はじめに やる理由 ハッシュタグに「Rails6」、「Rails6」みたいに乱立したら嫌だなぁ… 手順 全角数字をはじくバリデーション 全角ハッシュをはじくバリデーション 特定文字を認めないバリデーションなのでwithoutオプションで記述します。 全角数字をはじくバリデーション ハッシュタグをinputさせるモデルに記述

          ハッシュタグの書き方を統一させるためにバリデーション組んでみた - Qiita
        • 【Rails】開始時間(datetime型)と終了時間にバリデーションをつける - Qiita

          実装内容 掲示板に開始時刻と終了時刻を設定し、人を募集するサイトを作成する。終了時間が開始時間より前にならないようにバリデーションを設定する。(※ついでに、開始時刻が現在日時より前にならないバリデーションも付ける) 環境 Ruby 2.5.0 Rails 6.0.3.4 前提 募集板を作成する時、開始時刻と終了時刻を入力できるように設定しておく。 実際のコード 今回は、募集版をboardと置く。 テーブルの内容は↓の通り class CreateBoards < ActiveRecord::Migration[6.0] def change create_table :boards do |t| (中略) t.datetime :start_time, null: false t.datetime :finish_time, null: false t.timestamps end end

            【Rails】開始時間(datetime型)と終了時間にバリデーションをつける - Qiita
          • [Python]Cerberusを用いたバリデーションの作り方と、外部ライブラリの導入 - Qiita

            #書くこと Pythonのオープンソースライブラリとして利用可能な、Cerberusを用いたバリデーション機能の実装の方法。 公式ドキュメント:https://docs.python-cerberus.org/en/stable/index.html github: https://github.com/pyeve/cerberus ##環境 Python 3.6.5 ##導入 まずは、導入を行っていきます。 ###インストール Cerberus(ケルベロス)は、外部ライブラリに属します。 なのでまずは、pipコマンドでcerberusをインストールしていきます。 ちなみに、 ####pipコマンドは 外部ライブラリをインストールするために主に用いられるコマンドです。 ####外部ライブラリとは 先人たちの知恵が詰まったコードの宝庫である The Python Package Index

              [Python]Cerberusを用いたバリデーションの作り方と、外部ライブラリの導入 - Qiita
            • Laravel 6.x 【ファイルアップロード】 バリデーションのfileとisValidメソッドの違いを検証->必ず存在確認が必要! - Qiita

              Laravel 6.x 【ファイルアップロード】 バリデーションのfileとisValidメソッドの違いを検証->必ず存在確認が必要!FileアップロードLaravel6isValid 制作環境 Windows 10 Laravel : 6.18.35 Laravel/ui : 1.0 Laravel-mix : 5.0.1 Bootstrap : 4.0.0 MDBootstrap : 4.19.1 chart.js : 2.9.3 XAMPP PHP : 7.4.3 Visual Studio Code はじめに この記事はプログラミングをはじめたばかりの素人が、できたことをメモするのに利用しています。 内容には誤りがあるかもしれません。 検証することにした経緯 とあるサイトで以下のような記述がありました(一部抜粋)。 public function upload(Request $r

                Laravel 6.x 【ファイルアップロード】 バリデーションのfileとisValidメソッドの違いを検証->必ず存在確認が必要! - Qiita
              • 【Active Storage】ファイルアップロード時のバリデーション設定 - Qiita

                概要 Active Storageにはデフォルトのバリデーションがないため、自前でバリデーション設定をした時のことを備忘録として記録します。 環境 ・ruby '2.5.7' ・rails '5.2.3' 過程 1.準備 Active Storageを導入するために以下のコマンドを実行します。

                  【Active Storage】ファイルアップロード時のバリデーション設定 - Qiita
                • カタカナ入力にバリデーションをかける(+入力時に平仮名をカタカナに変換させる) - Qiita

                  カタカナ入力カラムを用意する 例えばHogeモデルのnameカラムとname_kanaカラムを作って入力フォームを作ります。ここでname_kanaカラムにはカタカナ50音と-(長音符)に限定したいところです。2つの工程で確実にカタカナを入力させるように作っていきましょう。 モデルにバリデーションをかける まずはモデルにカタカナ(+長音符)以外のものが入らないようにバリデーションをかけます。

                    カタカナ入力にバリデーションをかける(+入力時に平仮名をカタカナに変換させる) - Qiita
                  • Vue.jsで入力フォームにバリデーションをつける - Qiita

                    はじめに この記事はVue#2アドベントカレンダーの23日目です🎅 アドベントカレンダー初参加の@yakumomutsukiです。 当初は「vue-cliを使わなくてもできるvueを使った開発」を考えていたのですが、書いているうちにただのWebpackの説明になってしまったので、実務であるあるなお悩みを書いてみようと思いました。 バリデーション + 入力フォーム フロントエンドの開発において、フォーム周りのバリデーションの設計は比較的悩みどころかなあと思います。zipというプロパティにたいして、watchを使ってバリデーションを張るか、computedを使うか、このあたりは実装者によってさまざまあると思います。 さまざまあるなかでの「私はこう実装した」という一例をご覧ください。 <template> <div id="app"> <div class="container"> <form

                      Vue.jsで入力フォームにバリデーションをつける - Qiita
                    • Blazorにおけるフォームバリデーション手法のまとめ - Qiita

                      概要 Blazorにおけるフォームバリデーションの手法に関して紹介します。 下記のようなログインフォームを例にして紹介します。 本記事のデモ(メニューのFormを選択) ソースコード 前提 .NET Core SDK 3.1.100-preview3-014645 Microsoft.AspNetCore.Blazor 3.1.0-preview2.19528.8 Visual Studio 2019 WebAssembly版(Client版)を使用しています。 また、サンプルではUI要素としてMatBlazorを使用しています。 詳細は下記を参照してください。 https://qiita.com/nobu17/items/ecf2121f7bbb6bc5294b MatBlazorを使わない場合、一般的なForm要素に置き換えてください。 MatTextField → InputText

                        Blazorにおけるフォームバリデーション手法のまとめ - Qiita
                      • 【Unity】uGUIで入力できない文字をはじくまでの長き道のり - Unicodeの誕生からサロゲートペア、バリデーション用ソースコードまで - LIGHT11

                        UnityのuGUIで入力できない文字をはじくために必要な知識をまとめました。 はじめに 文字コードの誕生と分岐 Unicodeの誕生 サロゲートペア UTF-8やUTF-16でUnicodeを文字コードに変換 UnicodeとUTF-8の関係 uGUIとサロゲートペア uGUIと結合文字 ソースコード 参考 はじめに UnityのuGUIは、実はほとんど絵文字を表示することができません。 また、囲み文字なども一部正確に表示できないものがあります。 そのため、ユーザが自由に入力できる部分ではこれらの文字をバリデーションする必要があります。 この記事ではこのようにuGUIで表示できない文字をはじく方法をまとめます。 また、この実装を理解するための前提知識は意外と幅広いので、そのあたりも踏まえてまとめてみます。 文字コードの誕生と分岐 まず、そもそも文字コードとは?というお話からです。 コンピ

                          【Unity】uGUIで入力できない文字をはじくまでの長き道のり - Unicodeの誕生からサロゲートペア、バリデーション用ソースコードまで - LIGHT11
                        • Nuxt.js Vuetifyのv-text-fieldを使った会員登録フォームのバリデーション設定(4/4) - 独学プログラマ

                          userFormPassword.vueはこのように編集してください。 front/components/user/userFormPassword.vue <template> <!-- まるっと書き換え --> <v-text-field v-model="setPassword" :rules="form.rules" :counter="!noValidation" :hint="form.hint" label="パスワードを入力" :placeholder="form.placeholder" :hide-details="noValidation" outlined /> </template> <script> export default { props: { ... // 追加 noValidation: { type: Boolean, default: false

                            Nuxt.js Vuetifyのv-text-fieldを使った会員登録フォームのバリデーション設定(4/4) - 独学プログラマ
                          • Python Fast APIのクエリパラメータや文字列のバリデーションについてまとめてみた - Qiita

                            Query Parameters and String Validations FastAPIでは、パラメータの追加情報とバリデーションを宣言することができる from typing import Optional from fastapi import FastAPI, Query app = FastAPI() @app.get("/items/") async def read_items(q: Optional[str] = Query(None, max_length=50)): results = {"items": [{"item_id": "Foo"}, {"item_id": "Bar"}]} if q: results.update({"q": q}) return results これをパラメータのデフォルト値として使用し、パラメータmax_lengthを50に設定す

                              Python Fast APIのクエリパラメータや文字列のバリデーションについてまとめてみた - Qiita
                            • バリデーションライブラリZodを紹介 - TECHSCORE BLOG

                              当社でエンジニアとしてフロントエンド開発を担当し始めてから1年ほどが経過しました。今回は最近の開発業務で使用し始めたライブラリのZodについて紹介しようと思います。 久守 大地(ヒサモリ ダイチ) 新卒3年目のフロントエンドエンジニアです。 バイク、特にハーレーが好きでいつか乗れることを夢見て日々頑張っています。 Zodとは ユーザが入力する値が適切な値かどうかチェックするために利用することができるバリデーションライブラリです。またバリデーションだけでなく、TypeScriptの型定義に利用することもできます。 公式ドキュメント 基本的な使い方 次にZodの使い方を簡単に説明します。色々な使い方が用意されていますが、すべて紹介していると日が暮れそうなので一部抜粋しての紹介です。 まず、以下のようにschemaと呼ばれる値のバリデーションを定義します。 import { z } from "

                                バリデーションライブラリZodを紹介 - TECHSCORE BLOG
                              • 【jQuery】RailsでValidation Pluginを使った動的なバリデーションチェックの実装 〜導入編〜 - Qiita

                                はじめに 本記事がQiitaでの初投稿となります。 jQueryのプラグインを使って動的なバリデーションチェック機能を実装しました。 実装手順とRailsで使用する場合の注意点をシェアします。 開発環境 Ruby 2.5.1 Rails 5.0.7.2 jQuery 3.4.1 jQuery Validation Plugin 1.19.1 Haml 5.1.2 Sass 3.7.4 jQuery Validation Pluginとは jQuery Validation Pluginはバリデーションチェックが実装できるjQueryのプラグインです。 公式サイト:https://jqueryvalidation.org/ やりたいこと 入力フォームにユーザー情報を入力する際にリアルタイムにバリデーションをチェック バリデーションエラーがある場合はエラーをリアルタイムに表示 バリデーションが

                                  【jQuery】RailsでValidation Pluginを使った動的なバリデーションチェックの実装 〜導入編〜 - Qiita
                                • kintoneで相対日付のバリデーションを行う - Qiita

                                  先日kintoneで宣言的にフィールド値の検証を行うという記事を投稿しました。Tynderというライブラリを使い、型宣言を書くことで、(手続き的ではなく)宣言的に入力値の検証を行いました。 今回はその応用編として、日付や日付時刻型のフィールドを相対日付(例えば、今月、来月、今年、今年度)で検証します。 さらに、フィールドのエラーに合ったカスタムエラーメッセージを表示するようにします。 コード tynder.min.js lib.js (前回記事) app.js (下述) // アプリのレコード型を定義します // interfaceの各フィールドは、kintoneアプリのフィールドコードと一致させてください const definition = ` /** サブテーブル */ interface Table { itemName: string; itemValue: number; }

                                    kintoneで相対日付のバリデーションを行う - Qiita
                                  • React Hook Form を使って Chakra UI 製フォームでバリデーション

                                    こんにちは、エンジニアを目指す大学生です! 今回は、前回の続きで Chakra UI で作ったフォームで簡単にバリデーションをできるように React Hook Form を導入していきます React Hook Form の基本的な使い方を知りたいChakra UI と一緒に React Hook Form を使いたいそんな方にこの記事が参考になれば嬉しいです! → React Hook Form のドキュメント import { useForm } from 'react-hook-form' import { FormLabel, Input, Button, VStack } from '@chakra-ui/react' export default function HookForm() { const { handleSubmit, register, reset } = u

                                      React Hook Form を使って Chakra UI 製フォームでバリデーション
                                    • 【Rails】バリデーションエラーメッセージの日本語化【i18n】 | Lose no Time

                                      2021年2月8日2021年7月19日 どうも、てーやまです。 今回は、『バリデーションチェック時のエラーメッセージ を日本語化』したいと思います。 さて今回も、できないことを一つずつ、積み重ねてできるようになっていきましょう!

                                        【Rails】バリデーションエラーメッセージの日本語化【i18n】 | Lose no Time
                                      • バリデーションで Fontawesome が巨大化 - Qiita

                                        こんなふうににカレンダーの Fontawesome をフォームタグにいれる これがバリデーションにひっかかると でっか 開発環境 ruby 2.6.5 Ruby on Rails 5.2.5 font-awesome-sass 本題 エラー時を検証ツールでみてみると Form タグのクラスが fields_with_errors になっている rails がデフォルトでよくわからんことやってくれてるみたい なので上の記事のように

                                          バリデーションで Fontawesome が巨大化 - Qiita
                                        • タグと型クラスによる合成可能で宣言的なバリデーション | DevelopersIO

                                          はじめに 複数の外部の状態に依存するバリデーションを順序付きで実行するコードを見るのにうんざりしたのでなんとかする方法を検討してみました。 よくある実装 以下のような名前(文字列)のバリデーションを行うプログラムを考えます。 名前の長さは1文字以上とする 名前には禁止ワードリストに含まれる文字列は使えない 禁止ワードリストはデータベースから取得する これをコードにすると以下のようになると思います。 type Name = String type Error = String trait GetForbiddenWords[F[_]]: def getWords: F[Set[String]] def validate[F[_]: Monad: GetForbiddenWords](name:Name): EitherT[F, Error, Name] = for { _ <- Either

                                            タグと型クラスによる合成可能で宣言的なバリデーション | DevelopersIO
                                          • Parsley.jsの使い方 クライアント側フォームバリデーション

                                            Parsley.jsはjQueryに依存しているので、まずjQueryを読み込みます。次に dist ディレクトリ下にあるParsley.jsの本体 parsley.min.js を読み込みます。dist/i18n 下にある日本語化ファイル ja.js を読み込みます。src ディレクトリ下にあるCSSファイル parsley.css を読み込みます。 <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> <script src="https://parsleyjs.org/dist/parsley.min.js"></script> <script src="https://parsleyjs.org/dist/i18n/ja.js"></script> <link rel="stylesheet" hre

                                              Parsley.jsの使い方 クライアント側フォームバリデーション
                                            • devise_invitableを利用するときは、バリデーションの有無を意識しよう - Qiita

                                              2023-5-16追記 devise_invitable 2.0.6からinvite!メソッドの仕様が一部変わったので、情報を追記しています。 また、記事のタイトルを「devise_invitableのインスタンスメソッド版invite!は、原則として保存済みのUserに対して使う」から「devise_invitableを利用するときは、バリデーションの有無を意識しよう」に変更しました TL;DR(最初に結論) devise_invitableにはクラスメソッド版のinvite!とインスタンスメソッド版のinvite!がある インスタンスメソッド版のinvite!は新規Userではなく、保存済みのUserに対して呼び出す 新規Userに対してインスタンスメソッド版のinvite!を呼び出すと 常に未検証のまま保存されるため、不正な状態でデータが保存される恐れがある (2023-5-16追記

                                                devise_invitableを利用するときは、バリデーションの有無を意識しよう - Qiita
                                              • [Rails]よく使うバリデーションまとめ - Qiita

                                                バリデーション機能は、空で保存してほしくないときや、文字数は10文字以内にしてほしいときなどに、チェックする機能として動きます。 たとえば、インスタグラムのような画像投稿サイトで、画像がないのは望ましくないので、画像は空白では保存できないようにします。 Twiiterのようなテキスト型の投稿サイトなら文字数は140字以内に設定します。 このようにバリデーション機能は、開発者の思うようなアプリ運営を行っていく上で非常に重要な機能です。 Railsではバリデーションをかんたんに実装できるので、今回はよく使うバリデーションの例を実装していきます。 開発環境 ruby 2.6.3 Rails 5.2.6 発動タイミング バリデーションは、オブジェクトがデータベースに保存される前に発動して、データが正しいかどうかを確認します。 発動するメソッドは以下です create create! save sa

                                                  [Rails]よく使うバリデーションまとめ - Qiita
                                                • Railsバリデーションエラーメッセージの日本語化(ja.yml設定方法) - 独学プログラマ

                                                  今回達成すること バリデーションのエラーメッセージを日本語に対応するための設定を行います。 具体的には、「I18n(アイエイティーンエヌ)」モジュールが読み込むja.ymlファイルを編集します。 I18nとはRailsアプリを多言語化対応するためのモジュールで、同一コードでもユーザーに表示する言語を切り替ることができます。 ja.ymlファイルを作成する この回でapplication.rbに下記コードを追加しました。 config.i18n.default_locale = :ja この設定をするとI18nは下記のファイルを読み込みます。 /config/locales/ja.yml 最初にI18n読み込みファイルja.ymlを作成します。 root $ touch api/config/locales/ja.yml 確認しておきましょう。 root $ ls -1 api/config

                                                    Railsバリデーションエラーメッセージの日本語化(ja.yml設定方法) - 独学プログラマ
                                                  • [解決]ユーザーの編集ができない→passwordのバリデーションに原因があった - Qiita

                                                    はじめに 本記事は、現在私が戦っているエラーのないエラーの備忘録です。 内容 ユーザーの編集ができなくなってしまった。 1週間前は、普通に編集ができました。 また、特にコードいじってないはずなのに。 コード コントローラー class UsersController < ApplicationController before_action :authenticate_user! def show @user = User.find(params[:id]) @foods = @user.foods.order("created_at DESC") end def followings user = User.find(params[:id]) @users = user.followings end def followers user = User.find(params[:id])

                                                      [解決]ユーザーの編集ができない→passwordのバリデーションに原因があった - Qiita
                                                    • Laravelでネストが深いバリデーションエラーメッセージを返す - Qiita

                                                      今回はLaravelのバリデーションのエラーメッセージの話です。 Laravel で確認していますがでも同じだと思います。 https://laravel.com/docs/7.x/validation https://readouble.com/laravel/7.x/ja/validation.html 通常のバリデーション Laravelでは、普通に作ると以下のような構造で$errorsにエラーメッセージが保存され、それをビューで使用します。 // 例えば、 $request->validate([ 'title' => 'required|string|max:100', 'body' => 'required|string|max:255', ]); // というバリデーションだと、$errorsには、 $errors = [ 'title' => ['The title fie

                                                        Laravelでネストが深いバリデーションエラーメッセージを返す - Qiita
                                                      • Vue3ベースのバリデーションフレームワークVeeValidate(v4)を使う | 豆蔵デベロッパーサイト

                                                        Vue2ユーザーの皆さん、Vue3への移行はお済みでしょうか?[1] 今回はこの移行で悩ましいバリデーションフレームワークのお話です。 Vueで代表的なバリデーションフレームワークと言えばVeeValidateがあります。 VeeValidateは多機能で使いやすいフレームワークですが、Vue2系に対応するv3とVue3系に対応するv4では、別物と言ってもいいくらい使い方が変わっています。 今回はそんなVeeValidate v4の使い方を整理したいと思います。

                                                          Vue3ベースのバリデーションフレームワークVeeValidate(v4)を使う | 豆蔵デベロッパーサイト
                                                        • toml 形式で作ったテーブルの配列を Pydantic でバリデーションして受け取る - Qiita

                                                          背景 toml 形式のファイル シミュレーションコードの入力部として、toml 形式の入力ファイルを考えている。特に、可変長個のリストを受け渡し可能にして、柔軟なシミュレーションを行うことを想定している。たとえば、以下のような構成である。 [[floor]] name = "groundfloor" floor_type = "middle" ceilingheight = 2.8 [[floor.room]] area = 18.0 windows = [0, 1, 2, 3] [[floor.room]] area = 20.0 windows = [4, 5] [[floor]] name = "firstfloor" floor_type = "middle" ceilingheight = 2.4 [[floor.room]] area = 35.0 windows = [6,

                                                            toml 形式で作ったテーブルの配列を Pydantic でバリデーションして受け取る - Qiita
                                                          • 【ポエム】Laravelのバリデーションルールの指定方法について考える - Qiita

                                                            今回は ポエム です。技術的には全然高度なお話ではなく、ただ、気持ち悪かったのをどうにかしたかったというお話です。ポエムが苦手な方は「戻る」ボタンを押すことをオススメします。 前提 PHP 7.4.9 Laravel 8.5.0 3行でわかるまとめ Laravel のバリデーションルールの指定方法が気持ち悪い(とくにクラス定数を使ったとき)。 いろいろ試してみたが、気持ち悪さを解消できなかった。 自作パッケージを作って、ようやく気持ち悪さを解消できた。 クラス定数問題 Laravel では、バリデーションルールは 文字列 で指定します。例えば、 title 属性に「必須入力であること」と「1000文字以下であること」というルールを指定する場合は、次のように書きます。

                                                              【ポエム】Laravelのバリデーションルールの指定方法について考える - Qiita
                                                            • Laravelの数値のバリデーションまとめ

                                                              Laravel バリデーションについてまとめていくよ2(文字種編)に続いてlaravelのバリデーションをまとめていきます。 今回は、数値についてのバリデーションを確認します。 確認するルールはinteger、digits、digits_between、max_digits、min_digits、numeric、decimal、multiple_ofです。 integer | 整数 整数であることをチェックします。 Laravle公式のバリデーションのドキュメントに下記のように(翻訳済みです)あります。 この検証ルールは入力がinteger型であることを検証するものではなく、PHPのFILTER_VALIDATE_INTルールが受け付ける型であることを検証するものです。入力が数値であることを検証する必要がある場合は、このルールとnumericのルールを組み合わせて使用してください。 htt

                                                                Laravelの数値のバリデーションまとめ
                                                              • Laravel バリデーションで変数を利用 - Qiita

                                                                Laravelのバリデーションで変数の使い方 なぜ気になったのか ECサイトを制作中に、商品をカートに追加する際にデータベース上の商品の在庫数以上の数を買い物かごに入れることができてしまう。 バリデーションを利用するときに商品の在庫数はそれぞれ異なるので固定の値は設定できない。 商品ごとにデータベースの商品の在庫数をMAXとしてそれ以上買い物かごに入れる時にはバリデーションを発動してエラーメッセージを出したかったから。 まず試したこと $data['test'] = 5; $max = 10; $validator = Validator::make($data, [ 'test' => 'max:$max', ]); これでは全くバリデーションは効かず ではどうするべきか。 PHPで変数を文字列内で展開したい場合は変数を{ }(波括弧)で囲って書くことで、文字列の中に変数があること明示し

                                                                  Laravel バリデーションで変数を利用 - Qiita
                                                                • 【Rails】3種類のラベルのうち1つは必ず選択(バリデーション) - Qiita

                                                                  はじめに 現在webアプリ制作に携わらせていただいている中で調べて学んだことをアウトプットしていきたいと思います。 よろしくお願いいたします。 開発環境 Rails 6.0.3 Ruby 3.0.1 参考記事 Active Record バリデーション Railsで特定の条件下で走るバリデーションを作りたい どうしたいか 新規質問投稿時に、3種類のタグから当てはまるタグを複数選択できるようになっているが、「投稿時にタグを1つは必ず選択させる」ようなバリデーションを構築したい。 ER図 questionsテーブルにlabelsテーブル、categoriesテーブル 、kindsテーブルがそれぞれ多対多の関係で紐づいています。 結果 class Question < ApplicationRecord #それぞれのテーブルに中間テーブルを作り多対多の関係にしています has_many :lab

                                                                    【Rails】3種類のラベルのうち1つは必ず選択(バリデーション) - Qiita
                                                                  • deviseのログイン機能でユーザー名にバリデーションをかける。 - Qiita

                                                                    Help us understand the problem. What is going on with this article?

                                                                      deviseのログイン機能でユーザー名にバリデーションをかける。 - Qiita
                                                                    • Railsのカスタムバリデーション(ActiveModel::EachValidator) - Qiita

                                                                      はじめに ActiveModel::EachValidatorを使うことで、独自のバリデーションを追加することができます。 フォルダ作成 まず、app/validatorsフォルダを作成します。 このvalidatorsフォルダに独自のバリデーションを追加していきます。 バリデーション作成 例えば、カラーコードかどうかを判定したい場合に、 app/validatorsフォルダにcolor_validator.rbのファイルを作成し、下記の内容を記載します。 class ColorValidator < ActiveModel::EachValidator PATTERN = /カラーコードかどうか判定するための正規表現を記載/.freeze def validate_each(record, attribute, value) unless value =~ PATTERN record.

                                                                        Railsのカスタムバリデーション(ActiveModel::EachValidator) - Qiita
                                                                      • 【Rails6】belongs_toによるバリデーション - Qiita

                                                                        はじめに ポートフォリオ作成中に発生したエラーについて、備忘録のため記述しています。補助金に関する記事の検索・閲覧ができるポートフォリオを作成しています。 環境 Ruby on Rails '6.0.0' Ruby '2.6.5' エラー内容 バリデーションに関するエラーになります。エラー文は以下の通りです。 web_1 | ↳ (pry):1:in `create' web_1 | Article Load (0.8ms) SELECT `articles`.* FROM `articles` WHERE `articles`.`id` = 4 LIMIT 1 web_1 | ↳ (pry):1:in `create' web_1 | User Load (0.7ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 1 LIMIT

                                                                          【Rails6】belongs_toによるバリデーション - Qiita
                                                                        • Contact Form 7 のバリデーションのカスタマイズ | WordPressカスタマイズ事例【100ウェブ】

                                                                          Contact Form 7 のバリデーションのカスタマイズ 以前、「Contact Form 7 で問い合わせメール送信後に、カスタムフィールドの値を更新する」の中で 、wpcf7_mail_sent にフックをかけて、Contact Form 7でメール送信後の処理にカスタマイズを加える事例についてご紹介しました。 今回はその手前、Contact Form 7フォームの入力内容チェック、つまりバリデーションのカスタマイズについて。 ちなみに「Contact Form 7で、メールアドレスの確認用入力と一致チェック機能をつける」でもContact Form 7バリデーションチェックを紹介していますが、今回はもう少し汎用的なものについてご紹介したいと思います。 例として、特定のユーザーにのみクーポン番号を発行し、サイトのフォーム内にそのクーポン番号入力欄を設けておいて、ユーザーが入力したク

                                                                          • jQueryで実装するフォームバリデーション|KojimaKohei

                                                                            HTML5では、type属性を指定すれば自動でバリデーションがかかったり、requiredを指定するだけで入力チェックをかけることが可能です。 HTML5の入力検証機能はとっても簡単に導入できるのですが、下記のようなデメリットのため、使わないことの方が多いです。 ・ブラウザによってエラーの表示内容が異なる ・JSで組んだ方がカスタマイズしやすい date,search,number,range,colorなどはいまだにIEやsafariが対応してなかったりするみたいなので、その他のtype属性は合わせておいた方が無難かなーと思っています。 今回、jQueryを使ってバリデーション チェックを作る機会があったので、忘備録的に書いておきたいと思います。 少しでも参考になれば幸いです。 まずは、HTML5だけで実装してみた HTML5だけで実装するとこんな感じ。 未入力チェックに関してはrequ

                                                                              jQueryで実装するフォームバリデーション|KojimaKohei
                                                                            • deviseに自動的に設けられているバリデーション - Qiita

                                                                              アウトプット deviseを用いて、ユーザー情報を管理するモデル(Userモデル)を作成すると、 下記の通りになる。 app/models/user.rb class User < ApplicationRecord # Include default devise modules. Others available are: # :confirmable, :lockable, :timeoutable, :trackable and :omniauthable devise :database_authenticatable, :registerable, :recoverable, :rememberable, :validatable end 5行目の:validatableという記述が、 deviseにより自動的に設けられているバリデーションを指している。 バリデーションは下記の

                                                                                deviseに自動的に設けられているバリデーション - Qiita
                                                                              • バリデーションは大事だって話なんだよねぇ! - Qiita

                                                                                はじめに バリデーションは常にアプリ開発で必要不可欠だと思いますが、「こんなバリデーションを実装したいな」と考えても、意外とどれを使えばいいかな?とか、記憶が曖昧だから調べようとなることが多いと思うので、この記事でほとんど解決出来るくらいの情報量を記したいと思います!! バリデーションは奥が深いので実にたくさんのことができます。 正しく理解することで、強固なセキュリティかつ隙のないアプリケーションの実装が可能です! バリデーションヘルパー 空でないか validates :title, presence: true validates_presence_of :title has_many :line_items, inverse_of: :order # 関連付けられたレコードの存在が必須であること

                                                                                  バリデーションは大事だって話なんだよねぇ! - Qiita
                                                                                • バリデーション のためにステータスコードを取得する - Qiita

                                                                                  概要 ステータスコードが422の場合、バリデーションをフロントに表示したかったので、ステータスコードの取得方法をまとめました。 解決 <script> export default { methods: { async submit(){ await axios.post('/api/account', formData).then(res=>{ console.log(res.status) }).catch(err => { console.log(err.response.status) }) }, }, } </script>

                                                                                    バリデーション のためにステータスコードを取得する - Qiita