2017-12-30 17 views
-1

양식을 만듭니다. 모바일에서 렌더링되는 모바일 블록과 데스크톱에서 렌더링되는 데스크톱 블록을 만들었습니다. 이 양식에는 여러 필드가 있으며, 누군가에게 날짜를 넣으려는 날짜 필드를 제외하고는 정상적으로 작동합니다. 모바일 블록에서 날짜 필드는 값을 완벽하게 취합니다. 데스크톱 블록에서는 이 아니며이 아닙니다. 나는 데스크톱 버전을 렌더링 할 때이 오류가 결국 :HTML 양식이 데스크톱에서 날짜 값을 가져 오지 않고 모바일에 있습니다.

html로는 다음과 같습니다 ValueError: time data '' does not match format '%Y-%m-%d'

(나는 단순함의 형태로 필드의 큰 덩어리를 제거했다, 내가 필요하면 알려)가 HTML의 자세한 내용을 참조하십시오

<form method="POST"> 
<div class="mobile-only"> 
    <div class="form-group row"> 
     <div class="col-12 col-md-2 col-lg-4"> 
     <label for="start-date" class="col-form-label"> 
      <h4>Start Date: <sup class="required">(required)</sup></h4> 
     </label> 
     </div> 
     <div class="col-12 col-md-10 col-lg-4"> 
     <input type ="date" maxlength="10" class="form-control" id="start-date" name="start-date" placeholder="MM/DD/YYYY"> 
     </div> 
    </div> 
    <div class="row"> 
     <div class="col-3 col-md-1"> 
     <button class="green-button link-text" type="submit" id="submit" type="submit">Save</button> 
     </div> 
     <div class="col-3 col-md-1"> 
     <button class="green-button"><a href="{{ url_for('displayReminders') }}" class="link-text">Cancel</a></button> 
     </div> 
    </div> 
</div> 

위의 코드는 모바일에서 잘 작동, 아래의 바탕 화면에 렌더링 무엇이며, 나에게 위에서 언급 한 오류가 있습니다 :

<div class="desktop-only"> 
    <div class="form-group row"> 
     <div class="col-lg-1"> 
     <label for="start-date" class="col-form-label"> 
      <h4>Start Date: <sup class="required">(required)</sup></h4> 
     </label> 
     </div> 
     <div class="col-lg-3"> 
     <input type ="date" maxlength="10" class="form-control" id="start-date" name="start-date" placeholder="MM/DD/YYYY"> 
     </div> 
    </div> 
    <div class="row"> 
     <div class="col-3 col-md-1"> 
     <button class="green-button link-text" type="submit" id="submit" type="submit">Save</button> 
     </div> 
     <div class="col-3 col-md-1"> 
     <button class="green-button"><a href="{{ url_for('displayReminders') }}" class="link-text">Cancel</a></button> 
     </div> 
    </div> 
</div> 
</form> 

또한 관련성이 높은 경우 부트 스트랩 4를 사용하고 있으며 백엔드는 Python이 포함 된 Flask App입니다. 문제가 뭔지 아십니까? 당신은 당신이해야 데이터베이스에 업로드하려고하면,

format '%Y-%m-%d' 

당신의 오류입니다 :

placeholder="MM/DD/YYYY" 

하지만 다른 코드에서 당신이 기대됩니다

답변

0

당신의 자리는 사용자에게이 형식을 나타냅니다 YYYY-MM-DD를 국제 표준으로 사용하고 프론트 엔드에서 MM/DD/YYYY로 변환하십시오. MM/DD/YYYY 입력을 요청하는 경우 YYYY-DD-MM으로 변환해야합니다.

+0

응답 해 주셔서 감사합니다. 그렇다면 모바일 부문에서 왜 제대로 작동하고 있습니까? 모바일 div에서 동일한 코드를 사용하고 있습니다. – Deep

+0

또한 알 수 있듯이 필드에 * NO * 데이터가 등록되었다는 오류가 발생합니다. 언급 한 특정 문제 인 경우 오류는 "MM/DD/YYYY"로 표시된 데이터를 언급 한 다음 적절하게 형식이 지정되지 않았다고 말합니다. '% Y', '% m'및 '% d'은 입력에서 "MM", "DD", "YYYY"을 제거하고 Python의 YYYY-MM-DD 형식으로 다시 포맷해야한다고 생각합니다. 암호. 다시 말하지만, 이것은 모바일에서 작동하고 있습니다. – Deep

+0

예, 잘못된 형식이므로 데이터를 등록하지 않습니다. 이전에 웹 페이지와 비슷한 문제가 있었는데, Windows 시스템에서 내 날짜 형식 이었기 때문에 유럽 형식에서 미국 형식으로 변경해야했습니다. – michal

관련 문제